Typical causes: a forgotten old exchange, a CSV only for 2024 even though you bought in 2021, a transfer to a wallet you never connected, or a chain that was never imported. The tool then sees a sale without inventory — and the balance goes negative.
Without a full history you get phantom gains: sales without a source look like income from nowhere. Transfers between your own wallets become taxable trades. That is exactly what tax offices should not see. A consistent balance is the prerequisite for FIFO, LIFO and the one-year holding period.
1. Show the discrepancy per wallet
CleanUp compares expected and imported holdings. You see which wallet and which asset is short — not just a global error.
2. Reload the missing source
Depending on the gap you connect the forgotten exchange via API, upload an older CSV or enter the missing deposit. chain.report matches transfers between your own wallets automatically once both sides are present.
3. Close the balance, then export
Only when holdings add up is the report internally consistent. That is the basis for the tax office not asking where the coins came from.
Does the difference really have to be zero?
Yes, before you file. A permanently negative holding means buys or transfers are missing. That is the first thing an audit notices.
The exchange is already gone — how do I import history?
You often still have email exports, tax CSVs or on-chain data from the withdrawal address. CleanUp shows which asset and period is missing so you can search with intent.
Are transfers between my own wallets taxable?
No, if both sides are fully imported and recognised as self-transfers. If one side is missing, it is wrongly treated as a sale.
Start by importing every exchange and wallet. CleanUp shows where the balance breaks — and what you still need to reload.
Start for free