Learn / Transactions

How to Export Crypto Transaction History for Tax Software

How to Export Crypto Transaction History for Tax Software
Photo by Shubham Dhage on Unsplash

Why Transaction History Matters for Crypto Taxes

Most tax authorities treat cryptocurrency as property, which means every sale, trade, or disposal can create a taxable event. Even moving crypto between your own wallets usually does not trigger tax, but selling it for fiat or swapping one token for another often does. To calculate gains and losses accurately, you need a complete record of every acquisition and disposition throughout the tax year.

Tax software cannot guess your cost basis or holding periods from a wallet address alone. It depends on the raw data you provide. Missing a single deposit, withdrawal, or staking reward can throw off your entire return and lead to underreported income or incorrect capital gains.

What to Export Before You Begin

Start by identifying every exchange where you held assets during the tax year. This includes accounts you barely used, because even a small airdrop or staking payout can be reportable income depending on your jurisdiction.

Most platforms let you download transaction history as a CSV or Excel file. Some also offer API keys, which tax software can use to pull data automatically. CSV exports are usually safer for one-time tax preparation because you control exactly what is shared.

Date ranges and tax years

Set the export range to cover the full tax year, plus a few days on either side if your platform timestamps transactions in UTC. A trade executed late on December 31 might appear on January 1 in your local time, creating confusion if you only export calendar-year data.

All accounts and wallets

If you used spot trading, futures, staking, earn programs, or a separate NFT marketplace on the same exchange, export each product separately. Many platforms silo activity by product type, so a single account export may not capture everything.

File formats tax software accepts

  • CSV files with columns for date, time, asset, amount, transaction type, and counterparty
  • Excel files, if your tax platform supports direct spreadsheet imports
  • API read-only keys, for ongoing syncing across multiple tax years

Coinbase and Coinbase Advanced

Coinbase separates basic trading activity from Coinbase Advanced. You may need to download reports from both if you traded on either interface.

On Coinbase, log in and go to your profile settings, then select Taxes or Documents. Choose the transaction history report, set your date range, and download the CSV. If you used Coinbase Advanced, open the Advanced Trade portal, visit the reports section, and generate an account statement or fills report for the same period.

Coinbase also offers a tax summary in some regions, but it should not replace raw transaction data. Use it as a cross-check, not as your only source.

Binance

Binance provides transaction history through its main account page and through Binance Pay or Binance NFT if you used those services. From the wallet or dashboard menu, select Transaction History, then Export. You can usually filter by date range and transaction type before downloading the CSV.

Futures and margin activity often live in separate tabs. Make sure to export spot trades, futures trades, deposits, withdrawals, and any staking rewards individually. Binance also offers tax reports in certain jurisdictions, but they may not include cost-basis calculations for assets moved off-platform.

Kraken

Kraken’s export tool is found under the Account or History section, depending on your interface version. Look for Export Ledger or Transaction History, select CSV, and choose the full tax year. Kraken separates trades, deposits, withdrawals, and staking rewards into different ledger entries, so download the complete ledger rather than only the trade history.

If you traded on Kraken Pro, the activity should appear in the same account ledger, but verify that the export includes maker and taker fees. Those fees matter when calculating your net proceeds.

KuCoin, OKX, Bybit, and Crypto.com

These platforms follow a similar export pattern, though menu names differ. Look for Transaction History, Order History, or Account Statements in the settings or wallet menu. Most allow you to export CSV files by date range.

KuCoin

Go to Assets or Account, select Transaction History, and export by date. Check both spot and futures accounts separately.

OKX

Open the order history page, choose the spot or derivatives tab, and use the export button. OKX also separates funding account activity from trading account activity.

Bybit

Visit the Order History section, filter by product type such as spot or derivatives, and download the CSV. Bybit’s export may exclude internal transfers between subaccounts, so note those manually if applicable.

Crypto.com

Use the Transactions section in the app or web portal to export history. If you used the Crypto.com Visa card or Earn products, export those reports separately because they may not appear in standard trading exports.

Importing Your Files Into Tax Software

Once you have your CSV files, upload them to your tax platform. Most software maps common columns automatically, but you should review the imported transactions before generating forms.

Match each transaction type to the correct tax category. A deposit is not income unless it represents a reward or airdrop. A withdrawal to your own wallet is not a sale. Trading one cryptocurrency for another is usually a taxable disposal of the first asset.

  1. Upload exchange CSV files one at a time to avoid duplicate entries.
  2. Reconcile the ending balance in your tax software against your actual exchange balance.
  3. Tag internal transfers between your own wallets so they are not counted as taxable disposals.
  4. Add missing transactions manually if an export failed or a platform no longer supports them.

Common Gaps and How to Fix Them

No exchange export is perfect. Transfers between exchanges often appear as a withdrawal on one side and a deposit on the other, but without a link between them. If you moved Bitcoin from Binance to Coinbase, each platform sees only half the movement.

Staking rewards, referral bonuses, and airdrops are sometimes buried in separate reports or omitted entirely. Check your email notifications and reward pages for any tokens received outside of normal trades.

If you participated in decentralized finance through an exchange wallet, those transactions may not appear in the exchange’s standard export. You will need to pull records directly from the blockchain or from the DeFi protocol’s interface.

Security and Data Hygiene

Transaction history files contain a detailed map of your financial activity. Store them in an encrypted folder or password manager, and do not email them to anyone unless you are certain they are a qualified tax professional.

If you connect tax software through an API key, use read-only permissions only. Never grant withdrawal or trading permissions to a third-party tax tool. Delete the API key after tax season if you do not plan to use it again.

What to Do If You Can’t Find a Transaction

Contact the exchange’s support team if a known transaction is missing from your export. Provide the transaction ID, date, and amount, but do not share your password or two-factor codes.

If the platform no longer exists or has restricted your account, use blockchain explorers to reconstruct deposits and withdrawals from your wallet addresses. You may need to estimate fair market value at the time of each transaction using historical price data.

Next Steps for a Clean Tax File

Export your transaction history from every exchange you used during the tax year, then import the files into your tax software and reconcile the balances. Treat exchange summaries as supporting documents, not substitutes for raw data.

Keep copies of every CSV and import report for several years in case of an audit. If your activity includes futures, staking, DeFi, or cross-chain transfers, consider reviewing the results with a tax professional familiar with cryptocurrency in your jurisdiction.