How to export your Kraken history
- 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
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
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
refidstops trades from being paired. - 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
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
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.
| Column | What it means |
|---|---|
txid | Unique ID of this ledger entry. It matches the ledger ID shown in your Kraken history. |
refid | Reference ID linking related entries. Both sides of a trade share the same refid. |
time | Date and time of the entry, in UTC. |
type | Category of the entry, for example trade, deposit, withdrawal, earn, staking or transfer. |
subtype | More detail for some types, such as staking allocations or transfers between your spot and earn wallets. |
aclass | Asset class. Kraken documents this as always currency; it isn’t used in calculations. |
asset | The asset whose balance changed, in Kraken’s own codes such as XXBT, XETH or ZGBP. |
wallet | Which Kraken wallet the entry belongs to, when present (for example spot or earn). Older exports may not include it. |
amount | Signed amount credited (+) or debited (−) to your balance. |
fee | Kraken’s fee for the entry, in the same asset as the row. |
balance | Your 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
Xprefix for crypto and aZprefix for fiat. CryptoTaxOwl normalises them:
| In the file | Read as |
|---|---|
XXBT / XBT | BTC |
XETH | ETH |
ZGBP | GBP |
ZUSD | USD |
ZEUR | EUR |
DOT.S, ETH.F and similar | The base asset (DOT, ETH) held in a staking or rewards balance |
- Staking suffixes. Assets with suffixes such as
.Sor.Fare 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.
- The format is detected from its header fingerprint.
- Rows sharing a
refidare paired into one trade; the fee is attached to the trade. - Asset codes are normalised (for example
XXBTto BTC) and staking suffixes are mapped to the base asset. - 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.
- A
typeorsubtypethe parser doesn’t know becomes an “Unknown type” issue that you resolve. It is never silently treated as taxable or non-taxable. - 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.
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.