Most active crypto traders use two or three exchanges. Some use five or more. Here's the problem: the IRS requires you to report every trade, sale, and crypto-to-crypto swap — across all of them. Miss one exchange and your cryptocurrency taxes are wrong. Potentially wrong in ways the IRS will notice.
Accurate tax reporting starts with accurate data. This guide walks through exactly how to import crypto exchange data into CoinTracking for tax purposes — covering CSV file exports, API connection setup, and manual entry, plus exchange-specific steps for Binance, Coinbase, Kraken, Bybit, and OKX.
Why You Need Complete Exchange Data for Your Taxes
The IRS classifies cryptocurrency as property, not currency. That single classification has significant consequences.
Every time you sell crypto, trade one coin for another, or use crypto to pay for something, you have a taxable disposal. Each one must be reported on Form 8949 — the IRS form for capital gains and losses. Your tax return depends on accurate records for every transaction: the date, the amount, the price at the time of the trade, and any fees paid.
There are three things you can't rely on:
- Exchange 1099s alone. Not every exchange issues a 1099, and those that do may not include all transaction types — especially pre-2025 trades or DeFi activity.
- Your memory. An active trader can execute hundreds of transactions in a year.
- Partial records. If you moved assets between exchanges, a trade that started on Binance and settled on Coinbase may show up as incomplete in both systems.
This is where importing all your exchange data into one platform makes the difference. CoinTracking, trusted since 2012 by over 1.6 million users, consolidates data from 300+ exchanges so you have a complete, accurate picture before generating your crypto tax report.
Three Ways to Import Your Exchange Data
Three methods exist for getting exchange data into CoinTracking:
| Method | Best For | Effort |
|---|---|---|
| CSV import | All exchanges; historical data | Medium — download and upload files |
| API connection | Active traders; exchanges with API support | Low setup; then automatic |
| Manual entry | One-off transactions; unsupported exchanges | High — enter each trade individually |
Most users use CSV import for historical data and set up an API connection going forward. That combination covers both the past and the future in one workflow.
Method 1 — CSV Import
CSV import is the most universally supported method for getting exchange data into CoinTracking. Every major exchange lets you export your full transaction history as a CSV file, which CoinTracking parses and maps to your portfolio automatically.
General steps for any exchange:
- Log in to your exchange account
- Go to transaction history, account history, or trade history (the label varies by platform)
- Select your date range — use the earliest possible start date to capture all your history
- Export as CSV (some exchanges call this "Download" or "Generate Report")
- In CoinTracking: go to Enter Coins → Import → [Your Exchange] → Upload CSV
CoinTracking auto-maps column formats for all supported exchanges. If your exchange uses a non-standard format, the generic CSV import lets you map columns manually. Required fields: date, amount, currency, transaction type, and fee.
One thing to know about date limits: Some exchanges cap each export at 90 or 180 days. If that's the case, run multiple exports for different date ranges and upload all of them. CoinTracking deduplicates overlapping records — no manual cleanup needed.
Method 2 — API Connection
For active traders, API connection is the easiest ongoing method to import crypto exchange data after the initial setup. Instead of downloading files, CoinTracking connects directly to your exchange and pulls transaction history automatically. New trades sync on their own.
The key thing to understand: the connection is read-only. CoinTracking cannot execute trades or withdraw funds. It reads your transaction history. That's it.
General setup steps:
- Log in to your exchange account
- Go to API Management (or Security / Account Settings, depending on the exchange)
- Create a new API key — enable read-only or view permissions only; disable all trading and withdrawal permissions
- Copy the API Key and API Secret immediately (the Secret is typically shown only once)
- In CoinTracking: go to Enter Coins → Import → [Your Exchange] → enter your API Key and Secret → connect
Once connected, CoinTracking imports your existing history and continues pulling new transactions automatically going forward.
Some exchanges require IP whitelisting for API access. Check your exchange's documentation — CoinTracking lists its server IP ranges in the help center.
Method 3 — Manual Entry
Manual entry is the fallback when an exchange isn't supported by CSV or API import, or when you're adding a small number of missing transactions — an OTC trade, a peer-to-peer transfer, or crypto received as a gift.
Steps in CoinTracking:
- Go to Enter Coins → Enter Trade
- Fill in: date and time, transaction type (buy, sell, trade, income, etc.), amount, currency, price at time of trade, and fees
- Save
Real talk: manual entry is impractical for large transaction volumes. If you're missing hundreds of trades, contact your exchange about historical data recovery or use the generic CSV template. Keep manual entry for the handful of transactions that genuinely aren't in any export.
Exchange-Specific Import Instructions
How to Export from Coinbase
Coinbase is the largest US crypto exchange by retail user count. Getting your full transaction history out of it takes a couple of steps.
- Log in to Coinbase
- Click your profile icon → go to Taxes → select Transaction history
- Click Generate report → choose your full date range → download the CSV
- Coinbase Advanced Trade (formerly Coinbase Pro): go to Statements → Generate → Trade Activity for the date range you need
- Upload the CSV to CoinTracking under Enter Coins → Import → Coinbase
Note: Standard Coinbase and Advanced Trade have separate export tools. Download from both if you've used both products. For official guidance, see the Coinbase Tax Resource Center, and for CoinTracking-specific steps, use the import from Coinbase guide.
How to Export from Binance
Binance limits CSV exports to a 3-month window per file. Multi-year traders need multiple runs.
- Log in to Binance
- Go to Wallet → Transaction History → Generate All Statements
- Select all transaction types → set a 3-month date range → click Generate
- Repeat for each 3-month period back to when you opened the account
- Download all CSV files → upload each one to CoinTracking
Yes, this is tedious for long-tenured Binance users. But do it once, and you won't need to repeat it — future transactions will come in through the API connection.
For official Binance documentation, see the Binance tax reporting guide. For CoinTracking-specific steps: import from Binance.
How to Export from Kraken
- Log in to Kraken
- Go to History → Export
- Select Ledgers — not just Trades. The ledger export is more complete and includes deposits, withdrawals, and staking rewards
- Set your full date range → click Submit
- Download the ledger CSV when it's ready → upload to CoinTracking
For column mapping help, use the import from Kraken guide.
How to Export from Bybit
- Log in to Bybit
- Go to Assets → Transaction History
- Click Export (top right corner)
- Select "All" for transaction type → set your date range → download the CSV
- Upload to CoinTracking under Enter Coins → Import → Bybit
For step-by-step CoinTracking instructions: import from Bybit.
How to Export from OKX
- Log in to OKX
- Go to Assets → Bills → Transaction History
- Click Export → set your date range → download the CSV
- Upload the file to CoinTracking
For step-by-step CoinTracking instructions: import from OKX.
From Imported Data to Your Tax Report
Once your exchange data is in CoinTracking, the calculation work happens automatically. CoinTracking matches buy and sell events, applies your chosen accounting method (FIFO, LIFO, or HIFO — configurable in settings), computes your capital gains and losses for each disposal, and generates a complete crypto tax report ready for filing.
That report includes Form 8949. Each line shows:
- Description of the asset (e.g., "0.5 BTC")
- Date acquired and date sold
- Sale proceeds
- Cost basis (purchase price plus fees)
- Net gain or loss
You can download it as a PDF or export it in formats compatible with TurboTax, H&R Block, and other major crypto tax software. The IRS accepts CoinTracking reports directly.
One detail that trips people up: Staking rewards, mining income, and airdrops are treated as ordinary income — not capital gains. They still need to be imported into CoinTracking (they appear in your transaction history as income events), but they go on Schedule 1, not Form 8949. Per the IRS FAQ on virtual currency, these are taxable at fair market value on the date of receipt.
Troubleshooting Common Import Issues
Imports don't always go perfectly. Here's what to do when they don't.
Duplicate transactions Happens when you import overlapping date ranges or upload the same file twice. In CoinTracking, go to Enter Coins → Find Duplicates to identify and remove them. The tool catches exact duplicates automatically — manual review catches the near-duplicates.
Missing transactions Your CSV may not include every transaction type. Binance has separate exports for spot trades, deposits/withdrawals, and futures. Coinbase Advanced Trade history is separate from standard Coinbase. Download every available report category, not just the trades export.
CSV format not recognized If your exchange isn't in CoinTracking's supported list, use the generic CSV import. Required columns: date, amount, cryptocurrency, transaction type (buy/sell/trade/income/expense), and fee. Grab the template from the CoinTracking FAQ and map your data to those columns.
API sync missing older history Many exchanges limit API access to the most recent 90 or 180 days. For older data: export CSVs covering earlier date ranges and upload them. CoinTracking handles both sources together without creating duplicates.
Prices showing as zero or incorrect This occurs with manually entered data or very old transactions where exchange price data isn't available. CoinTracking pulls historical price data to fill gaps automatically. If automatic lookup fails for a specific transaction, edit that entry and provide the correct price manually.
How CoinTracking Makes This Easier
CoinTracking has been supporting crypto tax reporting since 2012 — longer than most tools in this space. Over 1.6 million users rely on it to consolidate exchange data from 300+ supported exchanges and produce accurate tax reports.
The capabilities that matter most for importing exchange data:
- Automatic deduplication — Upload overlapping date ranges without creating false duplicates
- Smart CSV mapping — Files from supported exchanges are parsed without manual column matching
- Multi-method support — Combine CSV uploads and API connections for the same exchange across different time periods
- Read-only API access — Exchange credentials stored securely; no trading permissions ever granted
- Full audit trail — Every imported transaction is traceable back to its source exchange and file
Start with your largest exchange first, then work through the others. Most users finish their full import in under an hour using CoinTracking's guided import workflow.
Import Your Exchange Data in Minutes CoinTracking supports 300+ exchanges via CSV and API — with automatic deduplication, smart column mapping, and read-only secure connections. Your full transaction history, consolidated in one place. Start Importing Free →