The tax guides tell you what is taxable. This one is about the boring part that determines whether any of that matters: writing down what you did, at the time you did it, in a form you can still read in five years. It is written for someone who has been buying and moving crypto for a while and has never kept a proper record.
Educational information, not tax or accounting advice. Rules, cost basis methods and retention periods differ by country and change regularly. Confirm the specifics with a qualified professional in your jurisdiction.
Why is record keeping the thing people regret?
Because the evidence decays while the obligation does not. Your transaction history feels permanent when it is sitting in an exchange account, and then the exchange delists a pair, changes its export format, restricts history to the last two years, gets acquired, or fails outright. Accounts get closed for inactivity and take their download page with them.
The on-chain side is more durable but not self-explanatory. The transaction exists forever, but nothing on the blockchain records what a token was worth in your home currency at 14:32 on a Tuesday in 2021, and a chain you used heavily during one cycle may have no maintained explorer by the time you need to reconstruct it.
So the record is your responsibility, and the cost of not keeping it is not usually a penalty. It is the weekend you spend rebuilding four years of history from partial exports, and the tax you overpay because you cannot prove a cost basis you know you had. Regulators are also closing the information gap from their side: reporting frameworks such as the OECD's Crypto-Asset Reporting Framework mean tax authorities increasingly receive exchange data directly, so the reconciliation happens whether or not you participate.
What should you record for every transaction?
Seven fields make a transaction defensible. Miss any of them and you have a note rather than a record.
| Field | Why it matters |
|---|---|
| Date and time, with timezone | Determines the tax year and the price used. Timezone matters around year end |
| Type of transaction | Buy, sell, swap, transfer, income, gift, fee. Drives the tax treatment |
| Asset and quantity | Full precision. Rounding creates reconciliation errors that compound |
| Value in your home fiat currency at the time | The field everyone skips and the hardest to reconstruct later |
| Fees paid, and in which asset | Usually adjusts your basis or proceeds, so it reduces the tax owed |
| Counterparty or venue | Which exchange, protocol or person. Needed to trace and to prove |
| Transaction ID or wallet addresses | The evidence. Lets you or an accountant verify independently |
The fiat value deserves emphasis. Recording that you swapped 0.5 ETH for some USDC is nearly useless three years later, because the tax question is what that ETH was worth in your currency at that moment. Capturing it at the time takes seconds. Reconstructing it means finding historical price data for the right pair, on the right day, and defending the source you chose.
Which events need a record even when no money changes hands?
Most of the ones people forget, and several that are not taxable but are still essential.
- Token-to-token swaps. Commonly treated as a disposal of the first asset in many jurisdictions, even though no fiat was involved.
- Transfers between your own wallets. Usually not taxable, but you must be able to prove that, or the transfer can look like a disposal. This is the single most common cause of a wildly wrong tax report.
- Staking, mining and lending rewards. Frequently treated as income at the value when received, which then becomes the basis for a later disposal. Mining specifics are in our crypto mining taxes guide.
- Airdrops and forks. Assets that arrive unsolicited still need a record of what arrived, when and at what value.
- Spending crypto. Paying for goods or services is typically a disposal at market value.
- Gifts, in both directions. Treatment varies by country and by relationship, and the record needs the recipient and the value.
- Losses and thefts. A contemporaneous record is what makes any future claim possible.
The general framework for which of these are taxable is in our complete guide to cryptocurrency taxes. The point here is narrower: record them all, and decide the treatment later with an accountant.
What is cost basis, and why does the method matter?
Cost basis is what an asset cost you, including fees. When you dispose of it, your gain is the proceeds minus that basis, so the basis directly determines the tax.
The complication is that you rarely bought all of a coin at once. If you accumulated Bitcoin across thirty purchases at different prices and sell some, which purchase did you sell? The answer is a matching method, and jurisdictions differ significantly. First in, first out is the most widely used. Some countries require or permit an average cost approach. Some allow specific identification, where you nominate exactly which lot you sold, provided your records can support it. Others apply pooling rules with their own timing quirks.
Two practical consequences. First, you generally cannot switch method casually between years, so pick deliberately and stay consistent. Second, specific identification only works if your records are good enough to identify the lot, which is a direct argument for keeping the detail. If you buy on a schedule, as covered in our guide to dollar-cost averaging, you will accumulate many small lots and the method will make a real difference. Confirm which applies where you live rather than assuming the method you read about online.
What does a system that actually survives look like?
Something you can run in twenty minutes a quarter, because an elaborate system you abandon is worse than a simple one you maintain.
- Export from every venue quarterly, and again at tax year end. Full transaction history, not just trades. Do it while the account is open and while you remember it exists.
- Keep the raw exports untouched. Save the original CSV exactly as downloaded, alongside anything you process. When a number is questioned years later, the raw file is your evidence.
- Maintain a list of every wallet address you control. This is what lets you rebuild from the chain if a service disappears, and what proves that a transfer went to yourself.
- Keep one master ledger. A spreadsheet with the seven fields above, into which everything eventually lands. This is the record, and the tools are inputs to it.
- Back it up in two places, at least one of them offline. Treat it as you would any important document, though note it contains addresses and amounts rather than keys, so it does not need the same handling as a seed phrase.
Do this at the same time each quarter and the annual exercise stops being an archaeology project.
Should you use tax software or a spreadsheet?
Both, with the software as an input and the spreadsheet as the record of truth.
Dedicated crypto tax tools do the tedious parts well: importing from many exchanges through API or CSV, pricing transactions in your currency at the time, applying a cost basis method consistently and generating a report in a format an accountant recognises. Trying to do all that by hand across several venues is genuinely painful.
Where they fail is predictable. Transfers between your own wallets are frequently misread as disposals, which inflates your gains dramatically. Less common chains and newer protocols often import incompletely or not at all. Complex DeFi positions get flattened into transactions that do not reflect what happened. Fees are sometimes double counted or dropped.
So use a tool, then reconcile it. Check that the totals match your own records, that wallet-to-wallet transfers are tagged as such, and that nothing has been priced at zero. The output is only as good as the import, and you are the only person who knows what actually happened.
How do you handle the awkward cases?
Four categories cause most of the difficulty, and all four are easier with a note written at the time.
- Liquidity positions. Record what you deposited, what LP token you received, what you withdrew and when. Whether entering a pool is itself a disposal varies by jurisdiction, so capture the facts and resolve the treatment later.
- Lending and borrowing. Record the collateral posted, interest earned or paid, and any liquidation. A liquidation is usually a disposal you did not choose, and it is easy to miss because you did not initiate it. Our guide to spot trading covers the mechanics of the trades themselves.
- NFTs. Record the mint or purchase price including gas, royalties paid, and the disposal. Valuation is harder because comparables are thin.
- Losses to a scam, a failed protocol or an exchange collapse. Record what you held, the date it became unrecoverable, and the evidence: transaction IDs, correspondence, any bankruptcy claim reference. Whether relief is available varies widely, but no jurisdiction will accept a claim you cannot document. If you are researching a project before committing funds, our guide to doing your own research is the step that prevents this category entirely.
How long should you keep records?
Longer than you expect, and in source form rather than summary. Retention requirements vary by country and typically run several years from the filing that used them, with longer periods where a return was late or an enquiry is open.
The practical rule for crypto is stricter than the legal minimum, because cost basis follows an asset across its entire life. If you bought Bitcoin in 2017 and sell it in 2030, you need the 2017 acquisition record in 2030, long after any retention period for the 2017 tax year has lapsed. Keep acquisition records for as long as you hold the asset, plus your jurisdiction's retention period afterwards. Storage is cheap and reconstruction is not.
What should a year-end review cover?
One evening, once a year, working through this list:
- Export full transaction history from every exchange and platform used during the year, including any account you closed.
- List every wallet address you used, including new ones created during the year.
- Reconcile your closing balances against what your records say you should hold. A mismatch means a missing transaction.
- Tag all wallet-to-wallet transfers so they are not read as disposals.
- Check that every income event has a fiat value recorded at the date of receipt.
- Confirm your cost basis method is applied consistently with prior years.
- Note anything unusual in plain language while you still remember it. A sentence written now saves an hour later.
- Back up the whole thing to a second location.
Where you hold the underlying assets matters to this exercise too, since a well-organised custody setup produces a much cleaner record; our guide to using a cold wallet covers that side, and identity requirements at exchanges are explained in what is KYC in crypto. Regional reporting rules are moving quickly, and the European framework is covered in our MiCA guide. There is more in our regulation and tax hub, and the wider argument about why any of this system exists is the subject of our book, Why Crypto?.
Frequently asked questions
What records do I need to keep for crypto tax?
For every transaction, record the date and time, the type, the asset and quantity, the value in your home currency at that moment, any fees, the venue or counterparty, and the transaction ID or wallet addresses. Keep the original exchange exports as well as any processed summary, because the raw file is the evidence if a figure is later questioned.
Do I need to record transfers between my own wallets?
Yes, even though moving crypto between wallets you control is generally not a taxable event. Without a record showing both addresses belong to you, the outgoing transfer can be misread as a disposal, which inflates your reported gains. Tax software makes this mistake routinely, so keeping a list of your own addresses is essential.
What is cost basis in crypto?
Cost basis is what you paid for an asset including fees, and it is subtracted from the proceeds when you dispose of it to calculate the gain. Because most people buy in many small lots at different prices, the matching method used to decide which lot was sold changes the result. Methods vary by country, so confirm which applies to you.
Can crypto tax software do all of this for me?
It can do most of the work but should not be trusted unchecked. Import tools handle pricing and calculation well, and fail predictably on wallet-to-wallet transfers, unusual chains and complex DeFi positions. Use the software to produce a draft, then reconcile it against your own records and closing balances before filing anything based on it.
How long should I keep crypto records?
Keep acquisition records for as long as you hold the asset, then for your country's retention period after the year you disposed of it. This is longer than the standard rule, because cost basis follows an asset across its whole life: a coin bought in 2017 and sold years later still needs the original purchase record at the point of sale.
What if I have lost my old transaction history?
Rebuild what you can from the blockchain using the wallet addresses you controlled, request historical statements from any exchange still operating, and use historical price data to value transactions where the original record is gone. Document your reconstruction method and its assumptions in writing, since a documented, reasonable estimate is far more defensible than a gap.




