How to Export Kraken Transaction History for Canadian Taxes
A step-by-step guide to generating API keys and exporting CSV files from Kraken for CRA tax reporting.
-
Method 1: API (Auto-Sync)
The most accurate method that automatically syncs your trade history, staking rewards, and margin fees to your tax software.
-
Method 2: CSV Export
A manual backup method where you download “Ledgers” and “Trades” files to upload directly if you prefer not to share API access.
Introduction
Tax season in Canada is stressful enough without having to worry about thousands of crypto transactions. If you are using Kraken, you likely know the platform is great for trading but confusing when it comes to paperwork. Unlike your bank, Kraken isn’t going to send you a neat T5 slip with all your capital gains calculated for you.
The data on Kraken is messy. You have staking rewards, potential margin trades, and transfers in and out. If you try to do this manually in a spreadsheet, you will likely make mistakes. The CRA is getting sharper with crypto audits, so getting your history right is non-negotiable. This guide will help you pull the correct data from Kraken so you can report your taxes accurately in Canada.
Does Kraken Report to the CRA?
This is the most common question I get. The short answer is: assume they do. Kraken is a registered Money Services Business (MSB) with FINTRAC under Payward Canada Inc. While this registration is primarily for anti-money laundering (AML), it establishes a legal foothold in Canada.
In the past, the CRA has successfully used court orders to compel exchanges to hand over user data to identify people avoiding taxes. If you have a significant volume of trading, or if your account activity looks like business income rather than casual investing, the CRA has pathways to see that activity.
Furthermore, Canadian residents must file a T1135 Foreign Income Verification Statement if the cost amount of their specified foreign property exceeds $100,000 CAD at any time during the year. While Kraken has a Canadian entity, many users hold assets that might be considered situated outside Canada depending on how the custody is structured. It is always safer to over-report and be transparent than to hide assets and face gross negligence penalties.
Method 1: Connecting via API (The Easy Way)
Using the Kraken API is the standard way to handle tax reporting. It allows tax software to “read” your account and pull every transaction, including those tricky staking rewards and fees that are easy to miss in a spreadsheet.
Here is how to generate your API key specifically for tax software:
- Log in to your Kraken account on a desktop browser.
- Click on your name in the top right corner and select Security.
- Select API from the submenu.
- Click the button that says Add key.
- Important: You must configure the permissions correctly for security.
- Query Funds: Checked.
- Query Open Orders & Trades: Checked.
- Query Closed Orders & Trades: Checked.
- Query Ledger Entries: Checked.
- Withdraw Funds: UNCHECKED (Never check this).
- Modify Orders: UNCHECKED.
- Click Generate Key.
You will now see two long strings of text: the “API Key” and the “Private Key.” Copy these immediately into your tax software. Once you navigate away from this page, Kraken will hide the Private Key forever, and you will have to generate a new one.
Method 2: Exporting Kraken CSV History
If you do not want to link your account via API, or if the API is missing data (which happens with very old accounts), you can use the CSV export method. Note that Kraken limits how far back you can export in a single file, so you might need to run this process multiple times.
You need two different types of files to get the full picture:
Step 1: Export Trades
- Go to the History tab in your Kraken dashboard.
- Select Export.
- In the dropdown menu, select Trades.
- Select “All time” if possible, or select specific date ranges (e.g., Jan 1 to Dec 31).
- Click Submit. Wait for the status to change from “Queued” to “Processed.”
- Download the file.
Step 2: Export Ledgers
The “Trades” file only shows buys and sells. It does not show deposits, withdrawals, or staking rewards. For that, you need the Ledger.
- Stay in the Export section.
- Change the dropdown from Trades to Ledgers.
- Select the same date range.
- Click Submit and download.
When uploading to tax software, you usually need to upload both files so the software can cross-reference your trades with your balances.
Common Kraken Import Errors (Troubleshooting)
Even with a good API connection, things can break. Here are the most frequent issues Canadian users face with Kraken data.
Missing Staking Rewards
Kraken changes how they label staking rewards occasionally. Sometimes they appear as “Staking,” other times as “Rewards,” and rarely just as a generic “Deposit.” If your calculated balance is lower than your actual Kraken balance, it is usually because the tax software missed these income entries. You may need to manually label these as “Income” in your software.
Internal Transfers vs. Withdrawals
If you moved crypto from Kraken to a private wallet (like a Ledger or Trezor), the API sees a “Withdrawal.” It doesn’t know if you sold it P2P or just moved it. You must mark these as “Transfers” in your tax software. If you leave them as withdrawals, the software might treat them as a taxable disposition (a sale), creating a capital gains tax bill you don’t actually owe.
Spot vs. Margin
Kraken offers advanced margin trading. Reporting margin losses and gains is complex. If you lost money on a margin trade, ensure it is recorded as a realized loss. Sometimes the “Rollover Fee” on margin positions is missed, which means you miss out on a deduction that could lower your tax bill.
Canadian Specifics: ACB vs. FIFO
This is where most Canadians get into trouble. Most online advice and default settings on tax calculators are built for the USA. The US uses a system called FIFO (First-In, First-Out) or HIFO (Highest-In, First-Out).
Canada is different. The CRA requires you to use ACB (Adjusted Cost Base).
This means every time you buy a specific coin (like Bitcoin), you must average the cost of the new coins with the cost of your existing coins. You end up with a “pool” of Bitcoin with a single average price. When you sell, you calculate the gain or loss based on that average price, not the price of the specific coin you bought first.
If you try to do your taxes using a raw Kraken CSV and Excel, maintaining a rolling average cost base across hundreds of transactions is incredibly difficult. One formula error ruins the whole history. This is why using Canadian-compliant tax software that connects to Kraken is practically mandatory for anyone with more than a few trades a year.
Conclusion
Reporting your Kraken transactions to the CRA doesn’t have to be a nightmare, but you cannot ignore it. The transparency between exchanges and tax authorities is increasing every year. By using the Read-Only API to sync your data and ensuring your software is set to “Canada (ACB)” mode, you can generate the necessary Form T5008 or Capital Gains schedules to file with confidence. Get your data out, check for errors, and file on time.