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:

FieldWhy
Date and timeDetermines holding periods and fair market value
TypeBuy, sell, swap, transfer, income, fee
Asset and amountWhat moved
Value in your local currency at the timeNeeded for gains and income calculations
FeesUsually adjust cost basis or proceeds
Platform or walletWhere it happened
Transaction hash or exchange IDProof, and to match transfers (Module 3, Chapter 6)
Counterparty or purpose, if relevantFor example, payments or gifts
NotesOwn-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.

ExampleRisk if unmatched
Withdraw 1 BTC from exchange A to your hardware walletAppears as a disposal on exchange A
Send it later to exchange B and sellExchange 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.

Moving coins between your own wallets is not a sale, but unmatched records can make it look like one. If an exchange reports proceeds with no cost basis, a simple transfer can show up as a huge phantom gain until you label your own addresses.

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:

  1. Keep a list of every address you control, on every chain (Module 2, Chapter 1).
  2. Export transaction histories from block explorers or portfolio tools periodically, rather than waiting until tax season.
  3. Note the purpose of complex transactions when you make them.
  4. 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.

BenefitLimitation
Handles large numbers of transactionsImports can be incomplete or wrongly classified
Matches transfers between your accountsDeFi and unusual tokens may be misread
Applies country-specific rules and formsRules depend on the software's interpretation
Saves timeYou'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:

  1. They only cover activity on that exchange.
  2. They may not know your cost basis for assets transferred in from elsewhere.
  3. 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

HabitFrequency
Label every new wallet address in a private listWhen created
Download exchange transaction historiesQuarterly
Sync wallets and exchanges to tax software and review unmatched itemsQuarterly
Record notes on unusual transactionsWhen they happen
Back up all exports offlineQuarterly
Review the full year with a tax professional, if neededAnnually, 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

  1. Records are the foundation of accurate crypto taxes; without them, you can't prove cost basis.
  2. Record date, type, asset, amount, value, fees, platform, transaction ID, and notes for every transaction.
  3. Transfers between your own accounts are the hardest part; label addresses and record transaction hashes.
  4. DeFi creates many events; export histories regularly and document your treatment.
  5. Crypto tax software helps but requires careful review for missing, duplicate, misclassified, or spam transactions.
  6. Exchange reports are partial; keep your own complete records.
  7. Keep records for at least your jurisdiction's review period, and cost basis records for as long as you hold assets.