Using wallet transfers to save on taxes
A transfer between your own wallets is not a taxable event. Such transfers can be used to deliberately save on taxes.
Most holdings contain several purchases, each made at a different price. If you trade them, the question is which purchases you would like to keep and which ones you would like to sell. For your taxes this makes a large difference: if you trade the expensively bought coins, you realize only small gains and pay correspondingly little tax. The cheaply bought coins, by contrast, should stay untouched so that no larger gains are realized.
This post shows how a holding with several purchases is split into separate wallets, and which records belong with the split so you can substantiate it when you file.
Wallet-by-wallet accounting
Until the end of 2024, most people pooled every purchase across exchanges and wallets into one shared history; the transition rules take exactly that situation as their starting point[1]. Since January 1, 2025, the rules have changed, disallowing the pooling of purchases across wallets and accounts[1][2]. Each wallet and each exchange account now keeps its own holding with its own pool (wallet-by-wallet accounting)[2]. If you sell from a wallet, your oldest coins in that wallet count as sold first, unless you identify specific units no later than the date and time of the sale[2]. A transfer between your own wallets is not a sale, so no tax arises on the transferred coins; only the units you spend on the network fee count as disposed of[3].
These rules open the possibility of splitting a holding that mixes several purchase prices so that a tax advantage results. To do this, you transfer matching amounts into wallets that are reserved for one specific purchase. You can, for example, transfer cheaply bought coins into a cold wallet and avoid realizing their gains. The expensively bought coins go into the active wallets used for selling and swapping, and also as collateral in derivatives trading. The high purchase price keeps the taxable gain small on a sale or swap.
Which purchases move in such a split is governed by the same ordering as a sale: transferred are the units you identify no later than the date and time of the transfer or, without an identification, the earliest-acquired first[2].
Note, however, that a documented allocation cannot be rewritten afterwards[2]. What counts is that the allocation exists in your records as evidence. The evidence for the wallet split consists of the records of the individual transfers from the source wallets to the destination wallets, all of which must belong to you.
The records for wallet-to-wallet transfers
So if you want to split different purchases across separate wallets, you have to transfer the corresponding coins there. The record of such a wallet-to-wallet transfer needs the following data[3]:
- Date and time (matching the on-chain timestamps)
- Coin and amount
- Source wallet and destination wallet: exchange or wallet address(es)
- Transaction hash (the receipt on the blockchain)
- Purchase date and purchase price of the transferred coins
The first four points are in the blockchain and in the exports of your exchanges. Point five you record yourself. Also document that both addresses belong to you. The receiving platform cannot know what you paid. To create such a transfer record you can use the tool below. Pick the format that fits your data, then save or print the record. The tool runs entirely in your browser and your data is not stored.
Create a transfer record
This tool creates the complete evidence record for transfers between your own wallets. It runs entirely in your browser and no data is transmitted or stored.
Required entries
For a platform, its name and your account are enough. The sending address on chain belongs to the platform, not to you.
These entries decide whether the transaction counts as a transfer between your own wallets.
Attribution follows the ordering rules of the source wallet.
Transfer Record
| Date & time (UTC) | — |
|---|---|
| Network | — |
| Asset & amount | — · — |
| Source → destination | — → — |
| Transaction hash | — |
| Ownership, source | — |
| Ownership, destination | — |
| Amount | Acquisition date | Cost (USD) |
|---|---|---|
| — | — | — |
A transfer between your own wallets is not a disposal; the acquisition dates and cost basis of the moved units carry forward. This record documents the transfer, the attribution of both addresses, and the acquisition data at the time of the transfer; it belongs with the original exports of both sides. Self-generated record of the taxpayer — details not verified by ilja.tax. Not tax advice.
This gets complicated quickly, doesn't it?
Yes. Splitting wallets this way pays off, but after only a few years it is hard to tell which coins moved into which wallet when, and how much of each purchase is still there. On top of that, the records of past transfers first have to be reconstructed in painstaking detail. Exactly such cases are my work, including when all the records exist. I prepare wallet overviews that compare several possible splits with the tax saving to be expected from each, reconstruct missing records, restore the wallet allocation of the purchases, estimate missing prices from past transfers, and join everything into one complete history. Every figure can then be traced for tax returns and audits, and the effort usually pays off.
Sources and legal basis
Status: August 2026 — re-verify dates before relying on them.
Questions and feedback
If this post helped you, I would be glad to hear it. And if you have questions or a case you would like to describe, feel free to contact me.
