Library · Tax and records
The records you need before tax time
Why exchange statements are not enough, what a taxable disposal usually includes, and the export to run today so next year is arithmetic instead of archaeology.
Crypto tax is not conceptually hard. It becomes hard because the records needed to compute it are scattered across platforms, some of which will not exist by the time you need them, and because nearly everyone starts assembling them at the point when it is too late to do so properly.
Rules differ by country and change, and none of this is tax advice. What follows is about record-keeping, which is the part that is your problem regardless of jurisdiction.
Most tax systems treat crypto as property, not currency. The practical consequence is that you generally owe something when you dispose of it, calculated on the difference between what it cost you and what it was worth when you let it go. Buying and holding is usually not itself a taxable event. Everything after that is where the surprises live.
A disposal is very often broader than "sold for cash". In many jurisdictions — including the US and UK — swapping one coin for another is a disposal of the first, taxable on the gain, even though no money moved and nothing arrived in your bank. So is spending crypto on goods. So, frequently, is bridging or wrapping, depending on how it is implemented and how your tax authority reads it. People who traded actively through a rising market and never cashed out have discovered a substantial bill this way, and occasionally one larger than the portfolio was worth by the time it arrived.
Income and disposals are usually taxed differently, and both need recording. Staking rewards, mining proceeds, airdrops, referral payments and interest are commonly taxed as income at the value when you received them — and that value then becomes the cost basis for a later disposal. Which means an unrecorded reward is two errors, not one: missing income now, and an unknown cost basis forever after.
Cost basis is the number nobody has. To calculate a gain you need what the asset cost you, in your own currency, on the day you acquired it. Miss it and most authorities will let you assume a basis of zero, which taxes the entire proceeds as gain. Reconstructing basis years later, across a dead exchange, is the single most expensive gap in crypto record-keeping, and it is entirely avoidable at the time.
Exchange reports are incomplete by construction, and it is not their fault. A platform can only report what happened on that platform. It does not know what you paid for coins deposited from elsewhere, where withdrawals went, or that a transfer between two of your own wallets was not a sale. Left to reconcile alone, tools will frequently treat a self-transfer as a disposal at full value — inflating a gain that never occurred — and you will only catch it if your own records say otherwise.
Export everything now, while you still can. This is the one action worth taking today rather than in filing season. Exchanges close, get acquired, restrict access to closed accounts, and cap history exports to a rolling window. Download the full transaction history in CSV from every platform you have ever used, including ones you no longer use, and keep the files somewhere permanent. It takes an evening and it is the difference between arithmetic and archaeology.
What a complete record actually contains, per transaction: date and time, what went out, what came in, the value in your home currency at that moment, fees, the platform or wallet, and the transaction hash for anything on-chain. Everything else can be derived. Anything missing from that list has to be reconstructed later from someone else's records.
Wallet addresses belong in your records too. Keep a list of every address you control, labelled. It is what lets you — or a tool, or an accountant — prove that a transfer between two of them was not a sale. Without it, every self-transfer is ambiguous, and the ambiguity generally resolves against you.
Tax tools are reconciliation engines, not oracles. Connect wallets and exchanges and they will match the transfers, apply the accounting method your country uses, and produce a report. They are genuinely good at this and they save real time. They still cannot invent a cost basis for coins that arrived from a platform that no longer exists, and they will happily produce a confident, wrong number if the underlying data is wrong. The output needs a human sanity check — especially on transfers between your own wallets, which is where the errors cluster.
Losses are usually worth recording too. In many systems, realised losses offset realised gains, and unclaimed ones are simply money left behind. Rules on what counts, how far losses carry forward, and whether a worthless-but-unsold token can be claimed at all vary enormously — this is precisely the sort of question worth putting to someone qualified in your country, armed with records that let them answer it.
The whole guide in one sentence: keep the transaction history and the cost basis as you go, because every part of this is straightforward in advance and close to impossible in retrospect.
Where to go next
From our directory. Each entry has a full listing with what it is good for and what to watch out for.
Portfolio and tax tracking. Connects wallets and exchanges and produces filing-ready reports.
Educational content, not financial advice. We are not a broker, exchange, custodian or adviser, and we never take custody of your assets. We will never ask for a seed phrase or private key. See the full disclaimer.