Every classification rule, price source, and tax calculation explained. No black boxes — if you or your accountant want to verify a number, start here.
Every on-chain transaction is run through a deterministic priority chain of 24 protocol-specific classifiers. The first matching rule wins. No machine learning, no guesswork — the same input always produces the same output.
Each classified transaction produces one of five event types. The tax treatment is determined by HMRC guidance, not by ChainTax.
| Type | Tax treatment | Examples |
|---|---|---|
| Capital Gain | Capital Gains Tax at 18% basic / 24% higher (from 30 Oct 2024) | Token swaps, sells, LP removals, liquid staking burns, NFT sales |
| Income | Income Tax at 20% / 40% / 45% | Staking rewards, LP fee collection, vesting claims, CRV rewards |
| Transfer | Non-taxable — no disposal occurs | Bridges, WETH wrap/unwrap, Aave supply/withdraw, game interactions |
| Liquidity | Adjusts your cost basis pool — no tax yet | LP deposits (tokens leave your pool, LP token enters) |
| Needs review | Flagged for you to check | Unrecognised contracts — you can edit the classification manually |
When you sell or swap a crypto asset, HMRC has strict rules for calculating your profit or loss. Most crypto tax tools get this wrong — especially the 30-day rule. ChainTax applies all three rules automatically in the correct order.
Acquisitions and disposals on the same calendar day are matched first. This prevents buying and selling the same asset on the same day to manipulate cost basis.
If you dispose of an asset and re-acquire the same asset within 30 days, the disposal is matched against that re-acquisition — not the Section 104 pool.
Remaining disposals draw from the Section 104 pool — an average cost basis across all acquisitions of that asset. HMRC does not permit FIFO or LIFO.
All dates use UK time (Europe/London) to correctly handle BST boundaries near tax year ends. Losses are carried forward and offset against future gains down to the annual exempt amount.
| Period | Basic rate | Higher rate |
|---|---|---|
| From 30 Oct 2024 | 18% | 24% |
| Before 30 Oct 2024 | 10% | 20% |
Tax year 2024/25 is a split year — each disposal is taxed at the rate applicable on its disposal date. ChainTax checks every disposal against the 30 October 2024 boundary automatically.
2024/25 & 2025/26: £3,000
2023/24: £6,000
2022/23: £12,300
Gas fees (including L2 base fees on Optimism and Base) are treated as an HMRC allowable cost, reducing your taxable gain per disposal.
Every token is priced in GBP at its transaction date. The oracle follows this waterfall — each step is tried only if the previous one has no data.
All amounts decoded from on-chain logs and priced from cache or primary source.
Partial decoding or fallback price source used. Review recommended.
Unable to decode amounts. Oracle pricing skipped entirely to avoid guessing.
Staking rewards (Lido stETH rebases, Synthetix fee claims) and LP fee collections (Uniswap V3) are classified as miscellaneous income at fair market value on the date received. Income tax is applied progressively when you provide your salary: 20% basic / 40% higher / 45% additional. Without salary data, a flat rate is applied at your selected band.
Income events also enter the Section 104 acquisition pool at FMV — this means staking rewards you receive today affect your cost basis when you eventually sell that asset. DeFi income goes on SA100 (main return), not SA108.
No tax tool is perfect. Here's what ChainTax cannot yet handle automatically — and what you should check manually or discuss with your accountant.
ChainTax is a tax calculation tool and does not provide financial, legal, or tax advice. The figures generated are estimates based on on-chain data and published HMRC guidance.
Always verify your figures with a qualified tax adviser before filing your Self Assessment return. ChainTax is not liable for any errors in your tax return.
Reference: HMRC Cryptoassets Manual (CRYPTO10000–CRYPTO45700)
Try our free transaction explainer to see how any DeFi transaction is classified. Then scan your wallet for a full HMRC-ready report.