Skip to content

Connect OKX

OKX, in one book with the bank and the cards

A key, a secret and a passphrase, and your OKX history arrives as ledger lines with a cost basis behind them.

Read only, and refused if the key can trade or withdraw. How we check that is below.

Connections · OKX

The OKX card on the Connections screen and its drawer: what Orla reads, what it never does, and the read-only key it asks for. Nothing is saved until OKX has answered what the key may do, and a key with more than read rights is refused.

What lands, and what does not

The spot side becomes a ledger. The derivative side stays a balance

Only one of the two can honestly become tax rows, so the line is drawn here.

  • Spot fills become two legs at the price they happened at, and the fee its own row.
  • Margin and perpetual positions are not booked as trades: a position is not a disposal, and inventing one would poison the gains report.
  • Balances mirror regardless, so the total is right even where the history stops.
  • Deposits and withdrawals become transfers and pair with your own wallets.
  • The first sync reaches back to 1 January of the previous calendar year, then keeps up hourly.

The key you give us

Three credentials, and a permission string we read before saving any of them

OKX is the one venue that needs a passphrase as well as a key and a secret.

What OKX asks for
Three fields, not two: an API key, a secret and the passphrase you set when you created the key. All three are needed before anything can be read.
What we ask OKX
Their own answer: OKX reports the permissions on a key as a list, and if that list mentions trading or withdrawal the key is rejected outright.
If the list is absent
Refused. An answer without permissions counts as no answer: a venue that renamed the field would otherwise pass every key as read only.
Where the secrets live
Encrypted at rest, all three, and never returned by our API again.
If the key stops working
Sync stops after repeated auth failures, the space owner gets one message, and you replace the credentials in place.

One thing worth knowing

Withdrawing to your own wallet does not create a gain

Paired, it is one internal move; unpaired, it is not counted as a sale.

Questions

The questions people ask before they connect it

Can Orla trade or withdraw on my OKX account?

No. OKX reports the permissions on a key as a list, and a list mentioning trading or withdrawal is rejected before the connection is created. OKX also needs a passphrase alongside the key and secret, and all three are encrypted at rest, and our API never hands any of the three back.

Does it import my history or just the balance?

Both, and the history is the point. Fills, deposits and withdrawals become transactions in the ledger, so the capital gains engine can work a cost basis out by lot. The first sync reaches back to 1 January of the previous calendar year, which covers the current tax year and the one before it as well.

Will moving coins to my own wallet look like a sale?

No. The withdrawal is matched to the arrival on the other side, by transaction hash where the venue gives one and by coin, amount and date where it does not, and the pair becomes one internal move. An unmatched withdrawal is left out of disposals rather than counted as a sale of any kind.

Other exchanges

Connect OKX, and see the year add up

Exchanges connect on every plan, the free one included. A plan counts the rows synced in a month, not the connections.

Binance →
Spot fills as two legs, fees on their own line, transfers joined to the wallet.
Bybit →
The same rows, with the key's permissions read before it is saved.
Coinbase →
Fills, fees and transfers as transactions, rather than a balance that answers nothing when January comes.
Kraken →
Publishes no key permissions, so Orla asks the venue itself with two requests that cannot execute.
Hyperliquid →
No key at all: equity, deposits and daily results from a public address.

See it on your own books

Thirty minutes: we connect an account, drop a real bill in, and close a month together.