
The IRS classifies cryptocurrencies as property, subject to capital gains taxes. While traditional brokers and mutual funds report capital gains or losses on Form 1099-B, cryptocurrency exchanges don’t necessarily know about your off-exchange trades. Moreover, you can use different accounting methods to calculate capital gains, resulting in different taxable amounts.
Let's look at the idea of cost basis, different accounting methods, and how to aggregate transactions across your wallets and exchanges.
Capital gains are more challenging for cryptocurrencies than most financial assets – especially computing your cost basis. Fortunately, a handful of tips can help you save time and money.
What is Cost Basis?
Cost basis refers to the acquisition price of a stock, bond, cryptocurrency, or other asset. For example, if you purchased one ether for $1,500 in cash, your cost basis is $1,500, minus any gas or other transaction fees (e.g., exchange fees).
If you exchange a cryptocurrency for another cryptocurrency, the cost basis is the U.S. dollar value of the cryptocurrency you traded for the cryptocurrency that you now own. For example, if you exchanged 0.07 bitcoin for one ether, the cost basis would equal the market price of 0.07 bitcoin at the time of the transaction – say, $1,500 U.S. dollars.
Knowing the cost basis is essential to compute the capital gains or losses and accurately report and file your taxes each year. The IRS requires taxpayers to report their cost basis information on Form 8949, showing how much capital gains tax they may owe.
Cost Basis Methods
The IRS lets you choose between several accounting methods when computing capital gains or losses. Ultimately, the differences between methods boil down to matching purchases with sales. While first-in, first-out (FIFO) is the most common approach, the best approach depends on your trading frequency and other factors.
The four most common accounting methods include:
- First-in, first-out (FIFO) is the most common way to calculate capital gains or losses. By matching each sale with the earliest purchase, investors have a better chance of realizing more extended holding periods, resulting in a lower tax rate.
- Last-in, first-out (LIFO) matches the most recent purchase with each sale. While you have less of a capital gain in rising markets since the cost basis is higher, you are more likely to pay the higher short-term capital gains tax rate.
- Highest-in, first-out (HIFO) matches purchases with the highest cost basis first, minimizing the amount of capital gains. While most traders will perform similarly to LIFO, HIFO may be preferable for high-frequency day traders.
- Specific ID involves matching each sale to a particular purchase transaction, regardless of timing or price. As a result, you can selectively optimize your short or long-term capital gains. However, it's the riskiest and most challenging approach.
The IRS requires taxpayers using non-FIFO methods to maintain defensible records, including:
- The date and time each unit was acquired.
- The cost basis and fair market value of each unit upon acquisition.
- The date and time each unit was sold, exchanged, or disposed of.
- The fair market value of each unit when it was sold, exchanged, or disposed of, and the amount of money or value of the property that was received for each unit.
While the IRS permits taxpayers to change their accounting methods year-to-year, doing so can be challenging from a technical perspective. For example, you need to ensure that your transactions from the prior year match up properly in the new year.
Aggregating Transactions
The most challenging part of computing cost basis and capital gains is aggregating transactions across exchanges and wallets. While crypto traders and investors no longer have to build spreadsheets for their accountants manually, they may still need to export exchange-provided CSV files or connect APIs to fill out their transaction history.
Of course, ZenLedger and other crypto tax software solutions can help reduce billable hours for tax preparation and ensure accurate tax filings every year. The platform connects to different exchange APIs, aggregates and matches transactions, and auto-generates the tax forms you need each year while optimizing your taxes.

Using CSV Files
The conventional way of exporting your transaction history from each cryptocurrency exchange involves comma-separated value (CSV) files. These spreadsheets contain rows of transactions with columns for the timestamp, transaction type, asset, quantity, USD spot price, fees, and other information, and can be opened in programs like Microsoft Excel.
Here's how to export transactions at some of the largest exchanges:
- Binance – Navigate to Wallet > Transaction History after signing in to your account. On the top-right, click "Generate All Statements" and select Range > Customize > Generate.
- FTX – Click on your username in the top header and click "Trade History." Then, click the "Filter Time Window" icon and select a period. And finally, click the "Download CSV" icon.
- Coinbase – Navigate to Taxes > Documents after signing in to your account. You can generate and download a CSV file from that page for your gains and losses for each year.
- Kraken – Sign in to your account and click the "History" tab. Then, click on the "Export" tab in the sub-menu. And finally, choose the options you prefer and submit your request to export.
After downloading the necessary CSV files, you can merge them using Microsoft Excel or another spreadsheet application. The easiest way to do this is simply copying and pasting the transaction data into the same spreadsheet (being sure to standardize each column). Then, you can sort by the timestamp column to arrange the transactions chronologically.
Using APIs
Most crypto exchanges provide APIs to simplify transaction data export to third-party applications. For example, as mentioned earlier, ZenLedger and other crypto tax solutions can connect with exchanges to download transactional data in real-time and generate the documents you need to file taxes each year or save money on taxes.
You can also connect crypto exchange APIs to tax solutions, like TurboTax, although importing more than 10,000 rows can cause problems. You can find the API keys and other information in the same place that you can find CSV export options in most major exchange platforms.
The Bottom Line
Cryptocurrency traders and investors typically incur capital gains or losses when selling or exchanging their holdings. However, the amount of tax they owe on these transactions depends on their accounting method, holding period, and income tax bracket. Fortunately, you can quickly compute your capital gains or losses using crypto tax software.