Crypto tax software that reconciles, simplifying the complex.
Finality reconciles every disposal back to the acquisition that paid for it — across every supported chain and venue at once. On 7 wallets and 30,000 records, the incumbent competition reported a £336,248 gain. The actual reconciled position was a £176,494.84 loss. Finality provides all supporting documentation and evidence to make it easy for you to copy into your official tax return.
Free runs every check and shows every finding and its value. It does not include: the corrected figure, the working paper (pdf), the evidence workbook (xlsx).
SAME WALLETS · SAME TAX YEAR · SAME DATA
A leading incumbent reported
£336,248
gain
Reconciled position
−£176,494.84
loss
Divergence
≈£512,743
all of it cost basis that existed
Illustrative, from the reference dataset this engine was built and validated against. Same wallets, same tax year, same data. Every pound of it was cost basis that genuinely existed, invisible to a process treating each chain and venue as a separate universe. resolved by evidence — the derivation is in the working paper. Both figures are the cryptoasset position, compared like for like; derivatives are computed separately and stated separately.
What reconciliation means
Nearly all current crypto tax software works the same way: it is an importer. It pulls in your transactions, applies matching rules, and produces a number. That is good at the mechanical part — and silent about the part that decides the answer: what each on-chain event actually was.
Every one of these errors runs the same direction: missing cost basis never understates a gain. It only inflates one.
What Finality does instead
Finality is a reconciliation engine. Before any tax rule runs, it works out what each event was — cross-referencing every wallet, venue and chain as one position, checking the raw feed against the parsed one, resolving asset identity by contract rather than symbol, and hunting the cost basis an importer leaves behind. Every figure carries its derivation, and the judgements only you can make are handed to you explicitly, with both outcomes costed.
Because identity is resolved by contract, that holds for assets it has never seen before — tokenised equities, tokenised stocks, tokenised treasuries and other real-world assets (RWAs) move on the same chains as any other token and are pooled and reconciled the same way. There is no allowlist of supported tokens.
4,190
decisions settled from evidence, derivation recorded
16
left for the user — the ones only you can answer
Illustrative, from the reference dataset this engine was built and validated against.
An importer reads it as
It actually was
An importer reads it asA transfer out — a disposal, taxed at full proceeds
It actually wasA move between your own wallets. Not a taxable event at all.
An importer reads it asA brand-new token with no purchase history — sold, 100% profit
It actually wasThe same asset, bridged from another chain. Its cost basis exists — on the other side.
An importer reads it asNothing — the swap never appeared in the parsed feed
It actually wasAn acquisition. Miss it, and the later sale has proceeds but no cost.
Three findings from one real dataset
£23,566 at stake
A USDC→POPCAT swap routed through OKX DEX was absent from the parsed feed entirely. That didn’t lose a row — it destroyed the acquisition, leaving the later disposal with £23,566 of proceeds and no cost basis. Recovered by reading the raw feed underneath the parsed one.
raw ≠ parsed · 172 swaps recovered
£4.26M of fiction
A “Fartcoin” receipt carrying a £4.26M valuation was a different mint entirely — correctly spelled, wrong token. Symbol checks never catch that. Identity is resolved by contract address on every chain, and impersonation receipts are named on every chain — 1,927 of them in the reference year, most of them Cyrillic lookalikes of USDC arriving with a phishing link in the symbol. They are reported, never removed: taking a receipt out would understate a position, and that is the direction nobody checks.
verified mint only · 1,927 impostors excluded
1,785 days of lookback
74 of 114 NFT disposals were acquired back to 2021, median holding 1,207 days. A computation scoped to one tax year finds no cost for any of them and reports the proceeds as wholly gain. NFT history is fetched from inception — cost basis has no time limit.
unbounded lookback · included as standard
What it reads
32 chains and 12 exchanges. One EVM address is read across every EVM chain here — you add it once, not once per chain.
Ether and the stablecoins we hold a verified contract for are pooled as one asset across every chain they appear on, so bridging those is not a disposal. Every other token is pooled per chain and contract, because two contracts that share a ticker are not automatically one asset — and the working paper shows which pool each disposal came out of.
Exchange history arrives as the CSV you export, because venue APIs are rate-limited, geo-blocked and withdrawn without notice. An imported row pools with the same asset read from a chain wherever the ticker resolves to a contract we hold; where it does not, the row keeps its own pool and the scan names it rather than guessing.
From your AI assistant
Connect Claude to your Finality account and ask about your position in plain words. Every figure arrives with its caveats, it is read only unless you choose otherwise, and you can disconnect at any time.
Every finding, with what it is worth and what caused it
Every prior year of history needed to compute the filing year
Free does not include
The corrected figure
The working paper (PDF)
The evidence workbook (XLSX)
From our customers
“The team at FCT were a great help, untangling a complex web of cross chain transactions going back many years. Couldn't ask for more and the prices were reasonable for the services offered. We'll be using Finality again this year.”
“I’ve got a complex crypto tax situation and this was such a great platform to make it super straight forward and easy for me! Thanks for helping give the clarity and simplicity, will be using yearly!”
Working paper, evidence workbook, disclosure draft (see a sample). Priced on the transactions in your filing year, counted once each — a swap is one transaction, not one per token that moved. Every prior year of history needed to compute it is included, at no extra charge.
Each client pays for their own filing year and shares it with you. Sign in once and every client who has shared with you is listed in one place. Firm accounts are not yet available.
Why every earlier year is included. A filing year cannot be computed correctly without the years before it: the cost of what you sold was set back then. Charging separately for that history would be charging separately for being right. So you pay once, for the year you are filing, however far back the computation has to reach. For comparison — these are not our prices. The established alternative charges for each year separately, while needing several years of data to get any one of them right. Five years at their top tier comes to £1,245 for a single return, and another £799 if sorting the data out is handed back to you. Ours is the one-off price above.