Skip to content

Connect Kraken

Kraken, in the same book as everything else.

A read only key, and your Kraken history joins the ledger: fills, fees and transfers, priced when they happened.

Read only, and refused if the key can trade or withdraw. Kraken is the interesting case, and it is below.

What lands in the book

The movements, not just the total.

A balance answers what you have. A history answers what you owe in January.

  • Spot fills arrive as two legs, what left and what arrived, with the price recorded at the moment it happened
  • Fees arrive as their own line, in the currency Kraken charged them in
  • Deposits and withdrawals arrive as transfers and are matched against 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

Kraken will not tell us what your key can do, so we ask it in a way that cannot cost you anything.

Kraken publishes no permissions, and not knowing is not a reason to accept.

The problemWhy this venue is differentKraken exposes no endpoint that reports the rights on an API key. Asking it directly is not an option
What we do insteadTwo requests that cannot executeAn order placed in Kraken's own validate mode, for a volume of zero, and a withdrawal enquiry naming a withdrawal address that cannot exist on your account. Neither can move a coin even if it is allowed through
How we read the answerOnly their complaint countsIf Kraken refuses on permission, the key cannot trade or withdraw and we accept it. If Kraken instead complains about the contents of the request, it had already let the permission through, and the key is rejected
Anything elseThe important halfRefused. A timeout, a renamed method, an error we do not recognise: none of it is evidence, so none of it is accepted as evidence
Where the secret livesAfter it is acceptedEncrypted at rest, and never returned by our API again

Both probes are built so that the worst case is nothing happening. That is the point of doing it this way rather than trusting the checkbox you ticked on their site.

The part that gets tax wrong

Moving your own coins is not a sale.

Most tools book it as one anyway, and the bill is real.

  • A withdrawal to your own wallet is matched to the arrival on the other side, by hash where there is one
  • Matched, the pair becomes one internal move and no gain is worked out
  • Unmatched, it is left out of disposals rather than counted as a sale

Questions

The questions people ask before connecting.

Can Orla trade or withdraw on my Kraken account?
No, and Kraken is the interesting case: it publishes no endpoint that reports the rights on a key. So we ask the venue itself with two requests that cannot execute, an order in Kraken's validate mode for a volume of zero and a withdrawal enquiry naming an address that cannot exist on your account. If Kraken refuses on permission the key is read only; if it complains about the request instead, the permission had already been let through and the key is rejected. Anything else, including a timeout, is refused.
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.
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.

Didn't find your answer? [email protected]

Read next: how crypto works in the ledger, capital gains and the tax year, what getting paid in crypto really costs.

Start

Connect Kraken, and see the year add up.

Connecting an exchange is on the paid plans; the free plan holds the book, manual accounts and imports.