Price sources do not cover every token at every minute. Delistings, tiny market caps, ICO-era coins from before 2018 or a CSV without a price column leave a valuation gap. Other tools flag an error and stop. The real damage starts if you generate the report anyway.
Without a cost basis the full sale proceeds are often treated as gain. FIFO or LIFO cannot save that, because the lot has no purchase price. To the tax office it looks like a highly profitable trade — even if you held the coin for years or bought it at almost the same rate. Those reports get questions or get rejected.
1. CleanUp lists every transaction without a rate
You do not just see “error”, you see which coins, which date and which wallet. Open items can be worked through instead of ignoring an unreadable warning list.
2. Add the rate manually or pull it from a source
For altcoins without market data you enter the historical price. For known pairs chain.report reloads missing values when a source is available. The cost then sits in the correct lot.
3. Generate the report only after the gaps are closed
Only when open price issues are closed do gain, loss and holding period add up. The export is then auditable — not a PDF with silent zero-cost buys.
Can I just ignore missing prices?
No. Ignored rates often inflate the gain massively. Better to add the historical price or document the lot properly.
Where do I get a price if no exchange shows it anymore?
Archived charts, old CSV exports or nearby trades in the same wallet. In CleanUp you store the value once — then it applies to the tax valuation.
Does this only affect exotic tokens?
No. Large coins can also lack a price in very old periods or after an incomplete CSV. CleanUp finds both.
Import your transactions and let CleanUp list every movement without a rate. After that the gain calculation holds up.
Start for free