Export help · Kraken

How to export your Kraken ledger history for your crypto tax report

Kraken offers two main exports: Trades and Ledgers. For a tax report you want the Ledgers export, because it records every balance change, including deposits, withdrawals, fees and staking rewards, not just trades. This page shows you how to request it, what the columns mean, how Kraken’s asset codes work and how CryptoTaxOwl reads the file in your browser.

  • CSV
  • Documents → Create Export → Ledgers
  • Steps match Kraken’s help centre
  • Updated 7 October 2026

How to export your Kraken history

  1. 1

    Open Documents

    Sign in to Kraken, select your profile icon in the top-right corner and choose Documents. (On Kraken Pro, Kraken’s help says the menu entry is Statements.)

  2. 2

    Create a Ledgers export

    In the Exports section, select Create Export and choose Ledgers, described as deposits, withdrawals, fees and other balance changes over time. Choose Ledgers rather than Trades.

  3. 3

    Set the date range and keep every field

    Pick a start date before your first deposit and an end date of today. Leave all assets selected and keep all fields included; removing fields such as refid stops trades from being paired.

  4. 4

    Choose CSV and generate

    Select CSV as the format (not PDF) and select Generate. Kraken says processing can take from a few minutes to up to a week.

  5. 5

    Check back and download

    Kraken doesn’t email you when the export is ready, so return to the Documents page and select the download icon once it is enabled. If the download is a zip, extract the CSV.

  6. 6

    Import the ledger file

    Drop the CSV into the crypto tax calculator. You don’t need the Trades file as well, because the ledger already contains every trade.

These steps follow Kraken’s own help pages as checked on 7 October 2026. Exchanges rename menus often, so if something looks different, use the help link below and look for the full transaction history export. Wrong or out of date? Tell us at errors@cryptotaxowl.com.

What the columns mean

Column headers as documented in Kraken’s support article on ledger history fields, last updated by Kraken in 2026, and checked against the parser’s test file. Kraken can add or rename columns, and the export lets you leave fields out, so compare these with your own file.

ColumnWhat it means
txidUnique ID of this ledger entry. It matches the ledger ID shown in your Kraken history.
refidReference ID linking related entries. Both sides of a trade share the same refid.
timeDate and time of the entry, in UTC.
typeCategory of the entry, for example trade, deposit, withdrawal, earn, staking or transfer.
subtypeMore detail for some types, such as staking allocations or transfers between your spot and earn wallets.
aclassAsset class. Kraken documents this as always currency; it isn’t used in calculations.
assetThe asset whose balance changed, in Kraken’s own codes such as XXBT, XETH or ZGBP.
walletWhich Kraken wallet the entry belongs to, when present (for example spot or earn). Older exports may not include it.
amountSigned amount credited (+) or debited (−) to your balance.
feeKraken’s fee for the entry, in the same asset as the row.
balanceYour balance of that asset after the entry. Useful for spotting gaps in the history.

Quirks to know

  • Trades are two rows. A trade appears as one ledger row for the asset you gave up (negative amount) and one for the asset you received (positive amount). The two rows share a refid.
  • Kraken asset codes. Older assets use four-letter codes with an X prefix for crypto and a Z prefix for fiat. CryptoTaxOwl normalises them:
In the fileRead as
XXBT / XBTBTC
XETHETH
ZGBPGBP
ZUSDUSD
ZEUREUR
DOT.S, ETH.F and similarThe base asset (DOT, ETH) held in a staking or rewards balance
  • Staking suffixes. Assets with suffixes such as .S or .F are the same asset held in a staking or rewards balance. Moving coins into or out of these balances isn’t a disposal; the rewards credited to them are income.
  • Fees can sit on either row. Kraken charges the trade fee in one of the two assets, so only one row of the pair has a non-zero fee.

How CryptoTaxOwl reads this file

The ledger file is read in your browser and nothing is uploaded. CryptoTaxOwl never asks for API keys, recovery phrases or passwords.

  1. The format is detected from its header fingerprint.
  2. Rows sharing a refid are paired into one trade; the fee is attached to the trade.
  3. Asset codes are normalised (for example XXBT to BTC) and staking suffixes are mapped to the base asset.
  4. Values come from the file first: when one side of a trade is fiat, that amount is the value. Crypto-to-crypto trades use the other leg or the bundled daily prices, as explained in how CryptoTaxOwl works.
  5. A type or subtype the parser doesn’t know becomes an “Unknown type” issue that you resolve. It is never silently treated as taxable or non-taxable.
  6. Withdrawals to your own wallets need matching with the deposit at the other end. See crypto transfers between your own wallets.

Known issues and gaps

  • Margin and futures. Ledger rows for margin trades, rollovers or futures are flagged as unsupported activity and excluded by default. You can include them, with a warning.
  • Deposits from other platforms. Crypto deposited from elsewhere has no cost on Kraken. Import the other platform’s file as well, for example your Coinbase transaction history, or you’ll see a missing cost basis issue.
  • Staking transfers. Movements between your spot and staking balances appear as paired ledger rows. They are treated as internal moves, not sales; check the review screen if your staking history is long.
  • The Trades export alone isn’t enough. It leaves out deposits, withdrawals and rewards. If you imported both files, the trades appear as duplicates and you keep one set.

If your file isn’t recognised

If you removed fields when creating the export, the header fingerprint may not match. The easiest fix is to create a new Ledgers export with all fields included. Otherwise, use the column mapper in the workspace to assign the date, type, asset and amount columns, or turn the file into the CryptoTaxOwl template with the crypto CSV converter.

Pairing trades needs the refid column. Without it, each ledger row is imported on its own and you’ll need to review the trades by hand.

Kraken export: frequently asked questions

Should I export Ledgers or Trades from Kraken?

Ledgers. The ledger export includes deposits, withdrawals, fees, staking rewards and every trade. The trades export only covers trades, so you would miss transfers and income.

Why is my Kraken export taking so long?

Kraken’s help article says export requests can take from a few minutes to up to a week to process, and that it doesn’t send an email when the file is ready. Check the Documents page from time to time.

What does XXBT mean in my Kraken file?

It is Kraken’s code for Bitcoin. Older assets carry an X prefix (crypto) or Z prefix (fiat), so ZGBP is pounds sterling and ZUSD is US dollars. CryptoTaxOwl converts these codes automatically.

How are Kraken staking rewards treated?

Reward rows are treated as income at their value on the day received, using your country’s default. Moving coins into or out of staking balances (assets with suffixes such as .S or .F) is treated as an internal move, not a sale.