Module 14: Taxation and Regulation (US and EU Edition)
Record-Keeping and Crypto Tax Tools
Chapter 3 of 12 · about 5 minutes
3.1 Reconstructing a year
Node sat down to prepare a tax return and opened five exchange accounts, three wallets, two DeFi protocols, and a Layer 2 network. Some exchanges offered transaction downloads. One had closed. The wallets showed hundreds of transactions, including approvals, swaps, transfers, and staking rewards.
"I have no idea which of these transfers were between my own wallets," said Node. "Or what I paid for half of these tokens."
"This is why records matter more than any tax strategy," said Hash. "You can't claim the right cost basis if you can't prove it. And without records, tax authorities may assume the worst."
3.2 What to record
For every transaction, try to keep:
| Field | Why |
|---|---|
| Date and time | Determines holding periods and fair market value |
| Type | Buy, sell, swap, transfer, income, fee |
| Asset and amount | What moved |
| Value in your local currency at the time | Needed for gains and income calculations |
| Fees | Usually adjust cost basis or proceeds |
| Platform or wallet | Where it happened |
| Transaction hash or exchange ID | Proof, and to match transfers (Module 3, Chapter 6) |
| Counterparty or purpose, if relevant | For example, payments or gifts |
| Notes | Own-wallet transfers, airdrops, unusual events |
Keep supporting documents too: exchange statements, account closure exports, and records of fiat deposits and withdrawals.
3.3 The transfer problem
The hardest part of crypto record-keeping is usually transfers between your own wallets and exchanges. Without proper matching, software or tax authorities can mistake them for sales or receipts.
| Example | Risk if unmatched |
|---|---|
| Withdraw 1 BTC from exchange A to your hardware wallet | Appears as a disposal on exchange A |
| Send it later to exchange B and sell | Exchange B doesn't know your original cost, so it may report no cost basis |
Example. Say that 1 BTC was bought for $40,000 and later sold on exchange B for $100,000. The real gain is $100,000 − $40,000 = $60,000. But if the transfer in wasn't matched, exchange B knows no cost basis, so its records show $100,000 of proceeds against $0 basis, making the whole $100,000 look like gain, about $60,000 more than it should be. Matched records fix this.
Recording transaction hashes and labelling your own addresses solves most of this. This connects directly to the self-custody structure in Module 2, Chapter 12: knowing which addresses are yours is good security practice and good record-keeping.
Chapter 3 · The transfer problem
Coins bought for $40,000 on exchange A are withdrawn to a hardware wallet and later deposited to exchange B, where they sell for $100,000. If the transfer is unmatched, exchange B reports $100,000 of proceeds with zero basis, implying a $100,000 gain; matched records show the true $60,000 gain.
3.4 DeFi and on-chain records
DeFi creates many small events: approvals, swaps, liquidity deposits and withdrawals, staking rewards, borrowing, and repayment. Some are taxable, some aren't, and treatment of some, like providing liquidity, isn't always clearly defined.
Practical steps:
- Keep a list of every address you control, on every chain (Module 2, Chapter 1).
- Export transaction histories from block explorers or portfolio tools periodically, rather than waiting until tax season.
- Note the purpose of complex transactions when you make them.
- Be consistent in how you treat similar DeFi transactions, and document your reasoning.
3.5 Crypto tax software
Crypto tax software imports data from exchanges and wallets, matches transfers, applies cost basis methods, and produces tax reports for specific countries.
| Benefit | Limitation |
|---|---|
| Handles large numbers of transactions | Imports can be incomplete or wrongly classified |
| Matches transfers between your accounts | DeFi and unusual tokens may be misread |
| Applies country-specific rules and forms | Rules depend on the software's interpretation |
| Saves time | You're still responsible for accuracy |
Review the results carefully: look for unmatched transfers, missing cost basis, duplicate transactions, and tokens with obviously wrong prices. Spam tokens (Module 2, Chapter 9) can also appear as false income if not filtered.
"So the software does the heavy lifting," said Mint, "but I still have to check its work."
"Exactly," said Hash. "It's like the block explorer and the dashboards from Module 6. Useful, but verify."
3.6 Exchange reports
Many exchanges now provide tax reports, and in both the US and EU, exchanges are increasingly required to report customer data to tax authorities (Chapters 6 and 10). These reports are helpful, but:
- They only cover activity on that exchange.
- They may not know your cost basis for assets transferred in from elsewhere.
- Their numbers may not match your own calculations, and you may need to explain differences.
3.7 How long to keep records
Tax authorities can usually review past returns for several years, and longer in some circumstances. Many advisers recommend keeping crypto records for at least as long as your jurisdiction's review period, plus a margin, and keeping records of cost basis for as long as you hold the asset, which may be many years.
Back up records securely. As Module 2 taught, keep anything sensitive offline or encrypted. Never store seed phrases in the same place as tax records.
3.8 Node's new system
| Habit | Frequency |
|---|---|
| Label every new wallet address in a private list | When created |
| Download exchange transaction histories | Quarterly |
| Sync wallets and exchanges to tax software and review unmatched items | Quarterly |
| Record notes on unusual transactions | When they happen |
| Back up all exports offline | Quarterly |
| Review the full year with a tax professional, if needed | Annually, before the deadline |
"Fifteen minutes a quarter instead of a lost weekend every spring," said Node.
3.9 Try it yourself
List every exchange, wallet, and chain you've used in the past two years. For each, check whether you can export a complete transaction history today. Download whatever is available and store it securely offline. Then identify any account you can no longer access, and note what records you'd need to reconstruct its activity.
Key takeaways from this chapter
- Records are the foundation of accurate crypto taxes; without them, you can't prove cost basis.
- Record date, type, asset, amount, value, fees, platform, transaction ID, and notes for every transaction.
- Transfers between your own accounts are the hardest part; label addresses and record transaction hashes.
- DeFi creates many events; export histories regularly and document your treatment.
- Crypto tax software helps but requires careful review for missing, duplicate, misclassified, or spam transactions.
- Exchange reports are partial; keep your own complete records.
- Keep records for at least your jurisdiction's review period, and cost basis records for as long as you hold assets.