Keep raw exports unedited, one sheet updated monthly, fees in their own column, and a short note explaining each movement while the reason is still fresh.

Skip to content
Ending soon
LadyChain Crypto, priced honestly
Guides / October 27, 2026 AI summary

Recording Crypto Trades: A System That Survives Tax Season

Filed in Verified October 27, 2026 6 min read
In this article · 11 sections
  1. Every Movement Is a Potential Line Item
  2. Why Exchange Exports Are Not Crypto Tax Records
  3. What the export leaves out
  4. Transfers between your own wallets
  5. Cost Basis Methods Are Not Interchangeable
  6. A worked comparison
  7. Switching between methods is not free
  8. The Running Sheet: Columns and the Why
  9. Columns that earn their place
  10. The timestamped why
  11. A Month of Ordinary Housekeeping

TL;DR

Exports alone will not survive a review. Build a monthly sheet with fees split out, internal transfers linked and a timestamped note of why each movement happened.

Verified Oct 27, 2026 6 min read

Recording Crypto Trades: A System That Survives Tax SeasonGood crypto tax records are not a folder of exports. They are a running ledger you keep during the year, with a raw archive behind it, so the two can be reconciled in an afternoon rather than a fortnight.

Crypto tax records usually fail because of timing, not carelessness. Exchanges let you download history for a limited window, chains keep everything forever, and the person reconstructing the year is doing it months later, from memory, under a deadline.

  • Every trade, transfer, reward and fee is a potential line item, including the ones that cost almost nothing.
  • An exchange export is the starting point and always misses on-chain activity.
  • Cost basis methods differ by jurisdiction, and switching between them is not free.
  • Keep the raw files, the running sheet and a timestamped note of why each movement happened.

Every Movement Is a Potential Line Item

The unit of record-keeping is the movement, not the trade. Anything that changes what you hold, where you hold it, or what you paid to hold it belongs in the ledger, whether or not it produced a gain you noticed.

That includes rewards that arrived without a purchase, fees paid to move assets between your own accounts, and conversions between two assets that both look like cash. In many jurisdictions a swap between two stablecoins is a disposal of one and an acquisition of the other, which makes it a reportable event even though the value barely moved.

The reason to capture small items is not that each one matters. It is that the sum of them is invisible later, and reconstructing a hundred small items from memory is the part that turns a weekend into a month.

Why Exchange Exports Are Not Crypto Tax Records

An export describes what happened on one venue. It cannot describe what happened anywhere else, and it cannot see the transfers between your own wallets that connect one venue’s history to another’s.

This is the gap that breaks most reconstructions. The export shows a withdrawal of a token and the next export shows a deposit of the same token, but nothing in either file establishes that the two are the same asset moving between accounts you control.

What the export leaves out

On-chain transactions, gas and network fees, rewards received directly to a wallet, airdrops, and anything executed through a wallet rather than through the venue. It also typically omits the internal transfer that funded the wallet in the first place.

Fees deserve particular attention because they are easy to ignore and they accumulate. Thirty-eight transactions at 6.40 each is 243.20 of cost that never appears as a line in a venue export, and in many jurisdictions those costs affect the number you eventually report.

Transfers between your own wallets

Moving an asset between two wallets you control is not a disposal in most frameworks, but it is not nothing either. It changes custody, it usually costs a fee, and it breaks the continuity of a balance history that a reviewer will want to follow.

Record it as an internal transfer with both sides identified, the fee separated, and the reason noted. Without that link, a later reconstruction has to guess whether a withdrawal and a deposit are the same event or two different ones.

Cost Basis Methods Are Not Interchangeable

Different jurisdictions allow different methods for deciding which acquisition a disposal came from, and the method changes the number. First in, first out, average cost and specific identification can produce materially different results from an identical set of trades.

A worked comparison

Buy 2.0 units at 1,800 each, then 2.0 units at 2,400 each, then sell 1.5 units at 2,600. Under first in, first out, the sold units come from the earliest lot: proceeds of 3,900 against a cost of 2,700, leaving 1,200.

Under average cost, the pool sits at 2,100 per unit, so the same sale carries a cost of 3,150 and leaves 750. The trades did not change; the method moved the figure by 450, which is the entire reason the choice has to be made deliberately and recorded.

Switching between methods is not free

Changing method mid-history usually requires recomputing every prior disposal under the new rule, and some jurisdictions restrict when a change is allowed at all. A switch made casually in year three can mean restating years one and two.

Pick a method with local advice, write down the choice and the date, and apply it consistently. Consistency is the part that survives scrutiny; the specific choice matters less than being able to explain it.

The Running Sheet: Columns and the Why

A running sheet is one table, updated monthly, that holds every movement in the order it happened. It is not a tax return and it is not a substitute for advice. It is the working document that makes the return possible without archaeology.

Columns that earn their place

Date and time in UTC, platform or wallet, asset, amount, direction, the other side of the movement, the fee in its own currency, the reference to a transaction hash or trade ID, and the source file the row came from. Ten columns is enough for most retail histories.

Two columns are usually missing and matter most: the fee as a separate number rather than folded into the amount, and the reference that lets you trace a row back to a raw file. Without the second, the sheet becomes an assertion rather than a record.

The timestamped why

Add one short line explaining each movement at the time it happens. Why the funds moved, which wallet it went to, what the transfer was for. Six months later the numbers are readable and the intent is not.

This is the cheapest part of the system and the part people skip. A note written in ten seconds in March replaces an hour of uncertainty in December, and it is the only part of the record that cannot be reconstructed from any export.

Record type Where it comes from What it misses Keep it for
Venue trade export The exchange’s own reporting On-chain activity and internal transfers Reconciling trades against balances
On-chain history A block explorer or wallet Anything done on a venue’s ledger Fees, rewards and wallet-to-wallet moves
Internal transfer note You, at the time of the move Nothing, if written properly Linking a withdrawal to its deposit
Reward statement Staking or reward source The date the value was fixed Establishing acquisition dates
Fee log Wallets and explorers Fees bundled into a venue spread Supporting costs that reduce a figure

The export tells you what a venue saw. The sheet tells you what you did. Only the second one can be handed to somebody else and understood.

A Month of Ordinary Housekeeping

Here is what the maintenance version looks like when it is done monthly rather than annually, on a history of moderate size.

  1. Download the month’s export from each venue and store it unedited, with the download date in the filename.
  2. Pull the on-chain movements for the same month, then delete duplicates caused by a transaction being both sent and received.
  3. Add each row to the sheet: 214 export rows plus 41 on-chain events plus 9 internal transfers gives 264 line items for the year.
  4. Separate fees: 38 transactions at 6.40 each is 243.20, which otherwise sits inside the amounts and disappears.
  5. Link each internal transfer to its counterpart, so the withdrawal and the deposit appear as one movement with two sides.
  6. Reconcile closing balances per account against the sum of the rows. A gap of 12 units is a missing line item, not a rounding error.
  7. Write the why for anything unusual while the reason is still fresh, and stop. The month took under an hour.

How we verify

LadyChain

Every offer is re-checked against the official terms page, the bonus amount and the expiry date before it is published, and again whenever a campaign changes.

Last verified October 27, 2026 Methodology Text-only version Corrections

Frequently asked questions

Do I need to record transfers between my own wallets?

Yes, even where they are not disposals. They carry fees, they break the continuity of a balance history, and without a note linking the two sides a later reconstruction cannot tell a self-transfer from a sale.

Are stablecoin swaps taxable?

In many jurisdictions they are treated as a disposal of one asset and an acquisition of another, which makes them reportable even when the value is nearly unchanged. Check your local rules before assuming a swap is neutral.

How long should I keep crypto records?

Longer than feels necessary, and the requirement varies by jurisdiction. A practical default is to keep the raw exports permanently and the working sheet for as long as any related year can still be reviewed locally.

Can I reconstruct last year from exchange exports alone?

Usually not, and an export is the weakest form of crypto tax records on its own. Exports cover venue activity and miss on-chain movements, self-transfers, rewards received to a wallet and most fee detail. The reconstruction needs at least one other source per wallet.

What if I cannot find the cost of an old purchase?

Record the gap explicitly rather than estimating silently, and note what you searched and when. A documented unknown is easier to handle than a number with no source, and local rules often specify a fallback treatment.

Does using a portfolio tracker replace the sheet?

No. Trackers are useful for balances and unreliable for classification, and they change or disappear. Keep your own sheet as the primary record and treat any tracker as a cross-check rather than a source of truth.

0 comments

No comments yet — ask a question and we will answer it here.

Leave a reply

Daily digest

Get today's best crypto offers

One short email each morning with the offers that changed overnight.

No spam, unsubscribe in one click. We never share your address.