Article Summary
- Crypto tax software works by importing transaction history via exchange API keys or CSV exports, then matching buys to sells to calculate gains and losses — the accuracy of the output depends entirely on how complete that imported data is.
- Moving coins between your own wallets isn't a taxable event, but if the software can't tell a transfer apart from a sale, it may misreport it — reconciling transfers is one of the most common manual fixes users still have to make.
- Most of these tools let you choose a cost-basis accounting method such as FIFO or specific identification, and the method chosen can change the resulting gain or loss, so it's not a purely mechanical setting to ignore.
"In this world nothing can be said to be certain, except death and taxes."
Benjamin Franklin
By the time someone has traded across two exchanges, bridged a coin to a different chain, and claimed a small airdrop, reconstructing a year of crypto activity from memory is no longer realistic. This is the exact situation crypto tax software was built for: pulling together a scattered transaction history into something that resembles a coherent tax record. But the tools are not magic — they're only as good as the data they can see, and understanding what they do well, and where they still need a human to check their work, is the difference between a clean return and an unpleasant surprise from a mismatched 1099 later.
How the Import Process Actually Works
Crypto tax software typically connects to your accounts one of two ways: a read-only API key from an exchange, which lets the software pull trade history directly, or a manually uploaded CSV export from an exchange or wallet that doesn't support API access. Once imported, the software attempts to identify each transaction type — a buy, a sell, a swap between two coins, a transfer to your own wallet, income from staking, or a receipt from an airdrop — because each type is treated differently for tax purposes. The software then tries to match each disposal (a sale or swap) to the specific coins that were acquired earlier, in order to calculate a cost basis and a resulting gain or loss. This matching process is the core function of the tool, and it's also where things most often go wrong, because if even one exchange or one wallet is missing from the import, the software has an incomplete picture of what you originally paid for the coins it sees leaving your possession.
Where the Software Still Needs Your Help
The most common failure point is the transfer between your own wallets or exchanges — moving coins from an exchange to a hardware wallet isn't a taxable event, but if the software doesn't recognize both the outgoing and incoming side of that transfer, it can mistakenly treat it as a sale with no cost basis, inflating your reported gains dramatically. Decentralized exchange activity, liquidity pool deposits, and cross-chain bridge transactions are also frequently misclassified because they don't fit the simple buy/sell pattern most tools were originally built around. It's worth manually reviewing any transaction flagged as having zero or unusually low cost basis before filing, since that's often a sign the software lost track of where a coin originally came from. Reconciling these gaps usually takes an afternoon of cross-checking wallet addresses and exchange statements, and it's the step people are most tempted to skip — which is exactly why it matters.
Cost-Basis Methods and Why the Setting Matters
Most crypto tax software lets you select a cost-basis accounting method, and the choice can materially change your reported gain or loss for the year. First-in-first-out assumes the coins you bought earliest are the ones being sold first, which in a rising market tends to realize larger gains since older, cheaper coins get sold first. Specific identification, where supported and properly documented, lets you choose which specific lot of coins is being sold, which can be used to intentionally realize a loss or a smaller gain depending on your situation. The IRS has published guidance requiring taxpayers to be able to specifically identify units if they want to use a method other than FIFO, which generally means keeping records showing the acquisition date and basis of the specific units sold. Switching methods between years isn't something to do casually, and it's worth understanding which method the software defaults to before assuming it's calculating things the way you'd prefer.
A Practical Checklist Before You File
Before trusting a generated tax report, connect every exchange and wallet you've used during the year, not just the main one — a single missing source is the most common cause of an inflated gain figure. Review any transaction with an unusually large gain, a zero cost basis, or a classification you don't recognize, since these are the ones most likely to be import errors rather than accurate results. Cross-check the total proceeds figure against any 1099 forms exchanges have sent you, because a mismatch between what you report and what the exchange reported to the IRS is a common trigger for a follow-up notice. Finally, keep the raw exported transaction history and the software's report together in your own records for several years, since the burden of proving your cost basis, if ever questioned, falls on you, not the software vendor.