What Crypto Tax Software Actually Does
Learn how crypto tax software imports transactions, matches transfers, and applies cost basis. Understand its limitations and what you must verify manually.
Crypto tax software is a tool that attempts to turn a raw list of blockchain transactions into a tax report. It does not know what you owe. It does not file anything. It produces a set of numbers that a human or an accountant then reviews. The software’s job is to classify each transaction, apply a cost basis method, and calculate gains or losses. How well it does that depends on the quality of the data it receives and the rules it is configured to follow.
Tax treatment of cryptocurrency varies by country. Some jurisdictions treat crypto as property, others as currency, and a few have special regimes. Rates differ, and the treatment of specific events—staking, lending, airdrops—is often unsettled. Before relying on any software output, check how your tax authority classifies crypto and what it requires for reporting. The software is a calculator, not an authority.
How the Software Works
Importing Data
The first step is gathering transaction history. Software connects to exchanges through API keys, reads public blockchain addresses, or accepts CSV uploads. Exchange APIs return trade history, deposits, withdrawals, and sometimes fee records. Blockchain imports scan addresses for incoming and outgoing transactions. Each source has gaps: exchange APIs may not include on-chain transfers, and blockchain scans do not see exchange-internal trades. A complete picture usually requires combining both.
Matching Transfers
A transfer of crypto from one wallet you own to another is not a taxable event. The software must recognize that both addresses belong to the same person and link the outgoing transaction to the incoming one. This is called transfer matching. When matching fails, the software sees a disposal—a sale—and calculates a gain or loss that never happened. This is the most common source of a wrong number. Matching can fail when addresses are not labeled, when a transfer goes through a bridge or mixer, or when the software does not recognize the destination as yours.
Classifying Transactions
Each transaction is assigned a type: buy, sell, trade, transfer, income, or expense. The classification determines the tax treatment. A trade from one crypto to another is a disposal of the first asset. An airdrop is income. A fee paid in crypto is a disposal of that crypto. Software uses heuristics to guess the type, but guesses are often wrong. For example, a deposit to an exchange might be classified as a transfer when it is actually a sale if you sold before depositing. Manual review is necessary.
Applying Cost Basis
Cost basis is the original value of an asset used to calculate gain or loss. Software applies a chosen method—FIFO, LIFO, average cost, or specific identification—to match each disposal with a purchase. The method can change the reported gain significantly. Most software defaults to FIFO, but some jurisdictions allow other methods. The choice must be consistent and documented. The software does not decide which method is best for you; it applies the one you select.
Generating the Report
The final output is a report listing each disposal, its proceeds, cost basis, and gain or loss, plus a summary of income events. The report is meant to be handed to a tax preparer or used to fill forms. It is not a filing. The software may also generate forms for certain jurisdictions, but those forms are only as accurate as the underlying data.
What It Handles Well
- Exchange trades: If an exchange provides a clean trade history, software can calculate gains accurately.
- Simple transfers: When addresses are properly labeled, transfers are matched and excluded.
- Fee tracking: Many exchanges include fee data, and software can adjust cost basis accordingly.
- Multiple asset support: Software can handle hundreds of different cryptocurrencies.
Where It Needs Manual Correction
- Unmatched transfers: When a transfer is not matched, it appears as a sale. You must manually link the transactions.
- Airdrops and forks: These are often misclassified or missed entirely. You may need to add them manually.
- Staking rewards: Treatment varies by jurisdiction and is often unsettled. Software may treat rewards as income at receipt, or only when sold. Check your local rules.
- DeFi transactions: Providing liquidity, borrowing, and yield farming are complex. Software may not understand the mechanics and may generate incorrect classifications.
- Hardware wallet activity: If you use a hardware wallet, you must connect it or import its addresses. Some software cannot see transactions from certain wallets.
The Misdiagnosis: Why Transfers Get Misread as Sales
People often assume that if the software shows a gain, they must have sold something. The reality is that the software may have misread a transfer as a sale. This is a natural mistake because the software sees an outgoing transaction to an address it does not recognize. It has no way of knowing that the address is yours unless you tell it. The error is not a sign of a broken tool; it is a limitation of the data. The fix is to label all your addresses and manually match any transfers that the software missed.
What People Get Wrong About Crypto Tax Software
A common misconception is that the software is a set-and-forget solution. It is not. The output is only as good as the input. Another mistake is assuming that the software’s classification is always correct. Software uses rules, but those rules are not tailored to your specific situation. For instance, a transaction that is a gift in one country might be a disposal in another. The software cannot know your residency or your tax status. The responsibility to ensure accuracy rests with the user.
Comparison of Common Scenarios
| Scenario | What Software Does | When It Does NOT Apply |
|---|---|---|
| Exchange trade | Calculates gain/loss using cost basis | If the trade is not reported by the exchange or if the trade is actually a transfer |
| Wallet-to-wallet transfer | Matches as non-taxable | When the destination address is not recognized or the transfer is misclassified |
| Airdrop | Treats as income at fair market value | If the airdrop is not detected or if the jurisdiction does not tax airdrops until sale |
| Staking reward | Treats as income at receipt | If the jurisdiction taxes only upon sale, or if the software does not track staking |
| DeFi liquidity provision | May misclassify as a sale | When the software does not understand the transaction and you must correct it manually |
Commands and Outputs
Some software offers a command-line interface or API. For example, to import a CSV file:
import --exchange coinbase --file transactions.csv
This command reads the CSV and adds the transactions to the ledger. The output typically shows the number of transactions imported and any errors encountered.
To check for unmatched transfers:
report --type unmatched-transfers
The output lists transfers that were not matched. Each entry shows the date, amount, and addresses involved. These must be reviewed and matched manually.
To generate a tax report:
report --year 2023 --method fifo
The output is a summary of gains and losses, plus a detailed list of transactions. The summary is not a filing; it is a starting point for your tax return.
Practical Steps for Using the Software
- Import all data: Connect all exchanges and add all wallet addresses. Use CSV uploads for exchanges that do not support API.
- Label your addresses: Assign labels to each address you own. This helps the software match transfers.
- Review transfers: Go through the list of unmatched transfers and match them manually.
- Check classifications: Look for any transaction that seems off, such as a deposit classified as a sale.
- Choose a cost basis method: Select a method that is allowed in your jurisdiction and apply it consistently.
- Verify income events: Ensure airdrops, staking rewards, and other income are recorded correctly.
- Export the report: Download the report and review it before sharing with a tax professional.
The Limits of Automation
No software can guarantee accuracy. The blockchain is not a ledger designed for tax purposes. Transactions are pseudonymous, and the intent behind them is not recorded. Software makes educated guesses, but those guesses can be wrong. The only way to be certain is to understand the rules and review the output. For complex situations, a tax professional who understands crypto is advisable.
Tax laws change frequently. What is true today may not be true next year. The software updates its rules, but you must stay informed about changes in your jurisdiction. The software is a tool to help you comply, not a substitute for understanding the law.
Common questions
Does crypto tax software file my taxes for me?
No. Crypto tax software calculates gains and losses and generates reports, but it does not file your tax return. You or your accountant must use the report to complete and submit the actual filing.
Why does my crypto tax software show a gain when I didn't sell anything?
The most common reason is that a wallet-to-wallet transfer was not matched and was treated as a sale. Check the unmatched transfers list and manually link the transactions to correct it.
What is the best cost basis method for crypto?
The best method depends on your jurisdiction and your transaction history. FIFO is common, but some countries allow average cost or specific identification. Check your local tax rules and choose a method that is permitted and beneficial for you.
Do I need to report staking rewards?
Tax treatment of staking rewards varies by country and is often unsettled. Some jurisdictions tax rewards as income when received, others only when sold. Check your local tax authority's guidance or consult a professional.
Can I trust the tax report from crypto software?
The report is only as accurate as the data and settings. You must review transactions, correct misclassifications, and ensure all income events are included. For complex situations, have a tax professional review the report.
Read next
- How Crypto Is Taxed: The Events That Count Learn which crypto transactions create a tax liability and which don't. Rules vary by country, so know what to check for your jurisdiction.
- Wash Sale Rule and Crypto: What to Know Learn how the wash sale rule applies to crypto, what loss harvesting means, and why tax treatment varies by country.
- Capital Gains on Crypto: How Gains Are Taxed Learn how crypto capital gains are calculated, the difference between realized and unrealized gains, and why holding period matters. Tax rules vary by country.
- What a Seed Phrase Actually Is Learn what a seed phrase really is: the master key to all your crypto. Understand how it works, why it's not a password, and how to keep it safe.
- How Hardware Wallets Work: Keys, Signing, and Limits Hardware wallets keep private keys offline and sign transactions on-device. Learn the mechanism, what it protects, and what it doesn't.