OKX
three credentials, read before they are saved
A key, a secret and a passphrase, and your OKX history arrives as ledger lines with a cost basis behind them. A key whose permissions mention trading or withdrawal is refused.
What lands in the book
The movements
not just the balance

- OKX · USDT
- $18,240.00
- Spot fills this month
- 24
- Trading fees
- −$41.20
- Spot as two legs
- At the price they happened at, and the fee its own row.
- Positions stay positions
- Margin and perpetual positions are not booked as trades: a position is not a disposal.
- The balance either way
- Balances mirror regardless, so the total is right even where the history stops.
- Transfers pair up
- Deposits and withdrawals become transfers and pair with your own wallets.
What goes by itself
Read every hour
and never a single order
- OKX fills since the last hourTwo legs each, at the price they filled
- A withdrawal to your own walletMatched by hash, one internal move
- Trading feesTheir own rows, in the coin charged
- An order or a withdrawalNever: the key cannot do either
- Two tax years from day one
- The first sync reaches back to 1 January of the previous calendar year, then keeps up hourly.
- Your own coins are not a sale
- A withdrawal to your own wallet is matched to its arrival by transaction hash and booked as one move, with no gain.
- Unmatched is left out
- A transfer with no matching arrival is left out of the disposals rather than counted as a sale.
- Nothing leaves
- The key reads. It cannot place an order on OKX or withdraw from it, and Orla pays nothing from it.
The key you give us
Three credentials
and a permission list we read first

- API key, secret, passphrase
- All three
- Permission: read
- Allowed
- Permission: trade or withdraw
- Refused
- List missing
- Refused
- 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.
- OKX's own list
- OKX reports the permissions on a key as a list. If it mentions trading or withdrawal, the key is rejected outright.
- No list, no key
- An answer without permissions counts as no answer, so a renamed field cannot pass a key.
- Encrypted, all three
- At rest, and never returned by our API again. Sync stops after repeated auth failures, and you replace them in place.
Other exchanges
- 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.
On autopilot
What goes by itself
and what still waits for you
Goes by itself
- A bill or a payout inside its budget in the mandate
- From Airwallex, PayPal or the account inside Orla
- An agent's card or API spend inside its cap
Waits for you
- A new payee, and bank details that changed
- Anything past a budget or a limit
- Every payment from Mercury, Slash, a Safe or a wallet you sign
The brakes above both
- $2,000 a payment and $10,000 a day until you change them
- Loosening a limit waits 24 to 72 hours
- One pause stops every payment at once
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.
Connect OKX
and see the year add up
Exchanges connect on every plan, the free one included, and reading them costs nothing.