Keep records that explain what you owned, what changed, what it was worth in your reporting currency and why the money moved. A final account balance cannot answer those questions on its own. Your working file should connect completed trades, fees and wallet transfers to the original evidence, whether you place orders yourself or use automated trading.

This is a practical recordkeeping method, not a universal list of tax obligations. Your tax authority determines the applicable valuation rules, reporting requirements and retention period. Organising the evidence first makes those questions easier to resolve without reconstructing your activity from memory.

Record the execution, not just the order

Start with the asset names, quantities given and received, trading pair, execution price, date, time and time zone. Save the platform name, account identifier and individual trade reference alongside the order reference. Record the counterparty details the platform supplies, without inventing a name for an anonymous market participant.

An instruction to buy is not evidence that the whole purchase happened. One order can fill in several parts, at different prices. Preserve each completed fill so that quantities and fees can be checked against the final account movement. Keep cancelled and rejected orders separately when available; they can explain the order history without being counted as completed trades.

For an on-chain movement, add the network, transaction hash and relevant public addresses. For an internal exchange trade, a blockchain hash may not exist. Mark the field as inapplicable instead of substituting an unrelated deposit hash. Keep the original time zone even if your working ledger also converts timestamps to UTC.

Save the value and how you obtained it

A crypto-to-crypto trade still needs a valuation trail. Retain the trading price and the evidence used to express the transaction in the currency required for your tax records. That might involve a separate currency conversion. Record the price source, timestamp and method so another person can follow your calculation.

Do not silently replace a missing execution-time price with today's price. Flag missing data and check the valuation approach accepted by your authority or adviser. A convenient app estimate and a value suitable for your particular reporting obligations are not necessarily the same thing.

Fees need their own fields: amount, currency or asset, associated trade and local-currency value where relevant. If a fee is paid in a different crypto-asset, retain that movement too. Whether and how the fee affects tax is a separate question. Recording it accurately does not decide its legal treatment.

Keep gross amounts and fees visible rather than storing only the net result. Otherwise a difference caused by charges can look like a missing transaction when you later compare files.

Connect transfers between your own wallets

A withdrawal from one account and a deposit into another can describe the same movement. Save both records, identify the wallets as yours and match the network, hash, amounts and timing. Explain any difference between the amount debited and the amount credited, including a withdrawal or network charge.

The purpose is to avoid counting the same movement twice or losing its connection with the original acquisition. A platform's label of "withdrawal" does not establish who owns the receiving wallet. Equally, a blockchain transfer is not by itself proof of a sale. Tax treatment depends on what actually happened and the applicable rules.

Maintain a simple wallet register using public addresses and descriptive labels. Record when an address belongs to you and which account it relates to. Keep passwords, seed phrases and private keys outside the tax folder; evidence of ownership does not require putting spending credentials into an accountant's spreadsheet.

Where no public hash exists for an internal transfer, preserve the provider's reference and both account entries. An explanatory note is more useful than an invented identifier.

Combine exports, statements and blockchain evidence

An exchange export can show off-chain trades and account fees. A broker statement may organise activity differently or combine executions. A blockchain explorer shows network activity but does not establish every trade made inside a platform, your acquisition history or your tax residence.

Use these records together. Download the available trade, transaction, deposit, withdrawal and fee histories, plus statements. Check whether separate accounts or products require separate exports. Preserve the original files before cleaning or combining them, and record the download date and selected reporting period.

HMRC's cryptoassets manual warns UK taxpayers that exchange records may not remain available indefinitely. That warning supports a useful habit wherever you trade: maintain your own archive rather than treating continued account access as your backup plan. Your own jurisdiction still sets the legal requirements.

Compare opening holdings with acquisitions, disposals, transfers, rewards and fees to explain closing quantities. Investigate differences asset by asset. Keep a correction log showing what changed, why and which document supports it. A polished total is less useful than a traceable one.

Automation increases the reconciliation work

Automated orders can create repeated fills and fee entries while you are away from the account. Preserve execution records rather than relying on a strategy's name, settings or displayed performance summary. A summary describes an outcome; it does not necessarily provide the evidence behind every movement.

If software imports records through an API, compare the import with downloaded statements. Check for duplicated rows, missing periods and omitted accounts. Keep the import settings and any manual changes. Re-running an import should not silently count the same fill twice.

The OECD's Crypto-Asset Reporting Framework, or CARF, provides for standardised reporting and international exchange of crypto transaction information. The EU's DAC8 creates related reporting and due-diligence obligations through its administrative-cooperation rules. Providers may therefore request tax-residence and identification details.

Neither system supplies a universal tax rate or makes a platform's report a substitute for your records. Reported transfers or aggregate figures may require explanation. Provider record-retention obligations also do not automatically determine how long you personally must keep documents.

Use a repeatable closing checklist

Choose a review frequency that matches your activity. Frequent trading calls for frequent reconciliation, particularly before changing platforms or closing an account. Keep an unresolved-items list so missing evidence remains visible rather than disappearing inside an estimated total.

  • Export completed fills, account movements, fees and statements.
  • Check the reporting period, time zones and included accounts.
  • Match transfers between your wallets and explain deductions.
  • Preserve valuation sources and the original downloaded files.
  • Reconcile closing quantities and document corrections.
  • Back up the archive securely and check that files still open.
  • Confirm retention, valuation and filing obligations with your authority or a qualified adviser.

The aim is a record another person can follow from acquisition through disposal or continued ownership. Good documentation makes review possible; it does not determine the tax result or improve a trading strategy's returns. Crypto trading can lose the entire amount committed.