Practical
Records before you need them
Reconstructing years of activity after the fact is the single most tedious job in this field, and it is entirely avoidable. What to record, when, and why exports are not enough.
This is the least interesting page on this site and probably the one that saves the most hours. Nobody keeps records at the start, because at the start there is nothing to record. By the time it matters the information is scattered across platforms that have changed, closed, or silently shortened their history.
General information, not tax advice. Rules differ by country and change. What follows is about keeping the raw material; what you owe and how it is calculated is for a qualified professional in your jurisdiction.
What to record, per event
- Date and time, with time zone. Tax years have edges, and a transaction near one needs an unambiguous timestamp.
- What went out and what came in, both as quantity and asset.
- The value in your home currency at that moment — this is the field people omit and cannot reconstruct later, because historical rates for smaller assets become genuinely hard to source.
- Fees, separately, in the asset they were charged in.
- The counterparty or platform.
- The transaction identifier where there is one.
- Why. One line. Whether something was a purchase, a transfer between your own wallets, a payment, or a gift changes its treatment entirely, and you will not remember in three years.
Why exchange exports are not sufficient
They are useful and they are not enough, for reasons that only become apparent when you need them:
- They end. Platforms limit history, change formats, and close. An export taken today is available; the same export in four years may not be.
- They are partial. A platform knows what happened on it. Transfers between your own wallets, on-chain activity and peer-to-peer trades are invisible to it.
- They disagree. Two platforms will report the same transfer with different timestamps, different fee treatment and different rates.
- They lack intent. An export cannot distinguish a transfer between your own wallets from a disposal. Only you know, and only at the time.
A method that survives contact with reality
One spreadsheet, one row per event, filled in the same week it happens. Not a specialised tool — tools are fine, but they are a second system that can lapse, and the spreadsheet is what you will still be able to open in a decade.
Then quarterly: export everything from every platform, save it with the date in the filename, and put it somewhere backed up. Fifteen minutes, four times a year. That is the whole discipline.
The transfers that cause the most trouble
Moving assets between wallets you control is usually not a taxable event, but it looks identical on-chain to a disposal. If you do not record which addresses are yours, an automated tool will reasonably interpret every internal transfer as a sale — and the resulting figure can be dramatically wrong in either direction.
Keep a plain list of every address you control, with the date you started using it. It takes a minute per address and it is the difference between a reconciliation that takes an afternoon and one that takes a fortnight.
Last reviewed: 11 September 2026