Year-End Crypto Tax Planning UK: What to Do Before 5 April
£3,000 AEA resets on 6 April. The HMRC-correct year-end playbook: realising losses, the 30-day B&B trap, same-day consolidation, and what SA108 expects.
The UK tax year ends on 5 April. Every capital gain, every loss, and the £3,000 annual exempt amount all crystallise at that moment. Anything you have not done by 5 April is locked into either the previous tax year or the next one — there is no carry-back, no retrospective allowance use, and no second chance to apply this year's £3,000 exemption against this year's gains.
Most year-end tax content for crypto reads like a generic equities guide with a few token names dropped in. The mechanics are the same as equities, but the failure modes are not. The Section 104 pool is more opaque, the 30-day bed-and-breakfast rule interacts badly with cross-chain repositioning, and most centralised exchange CSVs do not give you a usable cost-basis figure to plan against. The investor who sells a position in late March and buys it back in early April to re-establish exposure may have realised a loss that is not the loss they think they realised.
This guide is the action-shaped year-end playbook: the rules that actually move the tax bill before 5 April, the traps that quietly undo the planning, and what HMRC expects to see on the return that follows. It assumes you already understand the basics — Section 104 pooling and the matching rules — and want to know what to do with that knowledge in January, February and March.
Why the last 3 months matter
Three things crystallise on 5 April, and the asymmetry between them is the entire reason year-end planning exists.
The annual exempt amount is use-it-or-lose-it
The CGT annual exempt amount is £3,000 for 2024/25 and 2025/26. It is set per tax year and cannot be carried forward. If your net gains for the year are below £3,000, the unused portion does not roll into next year — it is gone at midnight on 5 April. An investor sitting on a £2,800 unrealised gain on 4 April who does nothing pays no tax on it that year, but also gains no future shelter. Realising the gain on 4 April crystallises £2,800 of appreciated cost basis tax-free.
Losses are forced against gains in the same year
Capital losses in the year are mandatorily set off against capital gains in the year. You do not get to choose to carry them forward instead. This matters at year-end because realising a loss in March when your year-to-date gains are already below £3,000 is wasted relief — the loss extinguishes against gains that would have been sheltered by the AEA anyway.
Carried-forward losses can rescue a high-gain year
Brought-forward losses are optional in the sense that they only reduce current-year gains down to the annual exempt amount, never below it. But the four-year claim window in CG15800 means a loss crystallised four tax years ago has to be used or it expires. If you have unclaimed losses sitting on your record and a large gain this year, the year-end is the moment to make sure both numbers appear on the same return.
Realising losses against gains — the order HMRC applies
UK capital losses follow a fixed order of relief. Knowing the order changes which losses to realise before 5 April:
- Same-tax-year losses are set off against same-tax-year gains, in full and compulsorily, before the AEA applies.
- The annual exempt amount (£3,000) is then deducted from whatever gain remains.
- Carried-forward losses from prior years are then deducted, but only to the extent that the figure does not fall below £3,000. The AEA is preserved.
- Any unused loss carries forward to the next tax year, claimed in writing within four years per CG15800.
The practical implication: do not realise a loss in March if the only gains in the year are already under the £3,000 AEA. The loss compulsorily extinguishes against those AEA-sheltered gains and the relief is wasted. Carry the unrealised loss into the next tax year by holding the position, or by waiting until 6 April so the loss falls in the next year against gains there.
The opposite case is the one most year-end content focuses on: a large realised gain in the current year and a separate unrealised loss on a different asset. Realising that loss before 5 April pulls the net gain figure down before the AEA is applied. The token has to actually be disposed of — held positions do not count, however deep underwater they sit.
For the broader mechanics of loss relief and the four-year claim window, see are crypto losses tax deductible UK?
The 30-day bed-and-breakfast trap at the year-end
The 30-day rule (commonly called bed-and-breakfast) is the single biggest year-end trap. It exists to stop investors crystallising a loss on 4 April and re-acquiring the same asset on 5 April purely to reset cost basis. The rule says: when you dispose of an asset, and you acquire the same asset in the 30 days immediately after the disposal, the disposal is matched against that new acquisition, not against your Section 104 pool.
At the year-end, the rule has a specific consequence. A disposal in late March matched against an acquisition in early April crosses the tax-year boundary. The disposal still sits in the old tax year — you cannot move it. But the cost basis used to compute the gain comes from the new April acquisition, not from the S104 pool you held on the disposal date.
Worked example: the year-end B&B trap (using the AEA)
S104 pool on 28 March: 5 ETH at average cost £1,500 = £7,500
Year-to-date realised gains: £0 (full £3,000 AEA still available)
28 March: sell 2 ETH at £3,000 = £6,000 proceeds
Intent: crystallise £3,000 of gain against the AEA — tax-free, lifts cost basis on those 2 ETH
3 April (still inside the 30-day window): buy 2 ETH back at £3,200 = £6,400 cost
What the investor expected (S104 match against the pool)
Proceeds: £6,000
S104 cost basis (2 ETH at £1,500): £3,000
Gain: £3,000 — covered exactly by the AEA, tax due £0
Pool after: 3 ETH at £1,500 + 2 ETH rebought at £3,200 → new average £2,180 per ETH
What HMRC actually applies (30-day B&B against the rebuy)
Proceeds: £6,000
Matched acquisition cost (3 April rebuy): £6,400
Loss: −£400 — not a gain at all
S104 pool unchanged: still 5 ETH at £1,500 average cost
The investor wanted to use their £3,000 AEA tax-free and step up the cost basis on 2 ETH. The rebuy six days later short-circuited both. The disposal now matches against the higher-priced April acquisition, the gain becomes a small loss, the AEA goes unused (it cannot be carried forward), and the appreciated cost basis is still locked inside the S104 pool.
The fix is to leave more than 30 days between disposal and re-acquisition. Sell on 4 March and rebuy on 6 April: the disposal falls in 2024/25, the rebuy falls in 2025/26, and the 30-day window closed on 3 April. The 4 March disposal then matches against the S104 pool as expected.
The same trap fires in reverse. Selling a winner on 6 April to crystallise a gain against the new tax year's AEA, then rebuying the same asset before 6 May, matches the disposal against the rebuy rather than the pool. The intended gain shrinks (or vanishes) and the AEA goes unused.
Same-day rule on consolidation
The same-day rule sits before the 30-day rule in HMRC's matching order. Any acquisitions and disposals of the same asset on the same London-timezone day are netted against each other first, before either the 30-day rule or the S104 pool is consulted.
For the year-end, the consolidation case is the one that matters. An investor with the same token across three wallets and two exchanges who decides to consolidate everything onto one wallet on a single day will trigger a series of disposals (the outbound legs) and acquisitions (the inbound legs) all dated the same day. The same-day rule pools them: every move that day matches first against the others before any S104 calculation runs.
This usually works out neutrally — units in equals units out at roughly the same price — and the net effect on the pool is small. The trap is when the consolidation is asymmetric. Selling 1 ETH on Coinbase the same day you withdraw 5 ETH from a hardware wallet to a custodial address may net to no taxable disposal under the same-day rule even though one of the legs felt like a real sell. Conversely, an investor who plans to realise a gain on 4 April and accidentally buys more of the same token from the same exchange the same day will see the planned disposal silently matched against the new buy, not the pool.
Wallet-to-wallet moves between addresses you control are not disposals at all — they are non-taxable transfers. The same-day rule only triggers on actual disposals (sells, swaps, LP deposits) and acquisitions (buys, swaps received, staking-reward receipts).
Spreadsheet vs engine — what actually breaks at year-end
Year-end planning needs three numbers in real time: the current S104 pool average cost per asset, the year-to-date realised position (how much AEA is already used), and a forward-looking view of which acquisitions in the next 30 days would trip the B&B rule. A spreadsheet built once in October is stale by January.
| Year-end question | Spreadsheet | Tax engine |
|---|---|---|
| What is my S104 cost basis right now? | Manual recalculation after every transaction | Live, reflected on every classification |
| How much AEA have I used this year? | Sum of realised gains, recalculated | Year-to-date number on the dashboard |
| Will a sell-and-rebuy hit the 30-day rule? | Mentally tracked, easily missed | Match-rule annotation on every disposal |
| Is a March disposal matched against the pool or an April rebuy? | Often invisible — matching crosses the tax-year boundary | Explicitly shown in the show-working panel |
| Have I claimed all carried-forward losses within the 4-year window? | Manual log, easy to forget | Surfaced as a year-end notice |
The B&B-across-the-boundary case is the specific failure mode that a spreadsheet cannot see. Cost basis on the disposal row in March is whatever the spreadsheet had at the time the cell was filled in. It cannot retroactively know that an April acquisition will change the matching. By the time the investor realises the planned loss was actually a small gain (or vice versa), the return is already being filed on bad numbers.
For the head-to-head feature comparison against general-purpose spreadsheets, see the UK crypto tax calculator landing.
Stop guessing your S104 pool — see your live cost basis
Year-end planning needs current numbers, not a spreadsheet built in October. ChainTax shows the live pool, year-to-date realised position, and the matching rule that will apply to a planned disposal — before you click sell. Scan your wallet free.
SA108 box-fill checklist for a year-end action
A year-end planning move shows up on the return only as the resulting disposal. There is no separate planning box. The question is what numbers go where, and the answer for the dedicated crypto boxes 13.1 to 13.8 (introduced for 2024/25) is the same whether the disposal was planned or incidental.
- Box 13.1 — Number of disposals. Every year-end loss-realisation, AEA-using gain, and consolidation disposal counts. Same-day netted activity counts as one disposal per day per asset (per CRYPTO22252).
- Box 13.2 — Total disposal proceeds. Gross GBP value at the moment of each disposal, summed. A loss realisation still contributes its proceeds figure here, not zero.
- Box 13.3 — Total allowable costs. Cost basis (matched against same-day, then 30-day, then S104) plus allowable disposal costs (gas fees per CRYPTO22150). Where a March disposal was B&B-matched against an April rebuy, the cost basis here is the April figure, not the S104 average.
- Box 13.4 — Total gains. Sum of positive per-disposal gains. AEA-using year-end disposals contribute here.
- Box 13.5 — Total losses. Sum of negative per-disposal gains, expressed as a positive number. Realised year-end losses sit here.
- Box 13.6 — Net gains or losses. 13.4 minus 13.5. The AEA is applied after this line.
- Box 13.7 — Real-time service gains. Almost always zero for crypto.
- Box 13.8 — Tax already paid on Box 13.7 figures. Almost always zero.
For 2024/25 returns, Box 51 also handles the split-year CGT rate adjustment around 30 October 2024. Year-end disposals dated between 30 October 2024 and 5 April 2025 sit in the post-Autumn-Budget rate band (18 percent / 24 percent). For full per-box mechanics see SA108 boxes 13.1 to 13.8 explained.
Carried-forward losses are claimed elsewhere on the return — they do not appear in 13.1–13.8. The crypto boxes show only the gross in-year figures.
How ChainTax handles year-end planning
- Live S104 pool per asset. Average cost basis updates after every classified transaction across every connected wallet and exchange. Classified as Disposal, Income, Transfer, or Liquidity with confidence ratings on every row.
- Matching rule on every disposal. The show-working panel for any disposal lists which of same-day, 30-day, and S104 actually matched. A March disposal that ended up B&B-matched against an April acquisition is shown with the April lot referenced explicitly, not silently rolled into the pool.
- Year-to-date AEA tracking. The dashboard shows realised gains and losses for the current tax year against the £3,000 annual exempt amount. The number a planning action actually moves is visible before the action runs.
- DeFi deposit positions classified as transfers. Aave, Compound, Yearn, EigenLayer and similar deposit positions carry basis to the receipt token on ChainTax's stated treatment, citing CRYPTO61620 and the proposed DeFi NGNL regime. Manual override is available where the strict reading is preferred.
- SA108 boxes pre-calculated. Boxes 13.1 to 13.8 (and Box 51 for 2024/25 split-year) are populated automatically from the matched disposals. The PDF report mirrors the SA108 layout for direct transcription into the Government Gateway submission.
See your live S104 pool before 5 April
ChainTax is built for UK rules from the ground up. Live Section 104 pools, same-day and 30-day matching shown explicitly, AEA year-to-date tracking, and SA108 boxes ready for the return. Free for up to 200 transactions. One-time payment per tax year, no subscriptions.
This article is for informational purposes only and does not constitute tax, legal, or financial advice. Tax rules can change, and individual circumstances vary. Always consult a qualified tax adviser before acting on a year-end position. HMRC guidance referenced: CRYPTO22150 (allowable costs and gas fees), CRYPTO22252 (same-day grouping for SA108), CRYPTO22300 (Section 104 pooling), CRYPTO61620 (DeFi deposit treatment), CG15800 (loss claim window), s2A and s58 TCGA 1992 (loss order and inter-spouse transfers). CGT rates: 18 percent basic / 24 percent higher from 30 October 2024 (Autumn Budget 2024). Annual exempt amount: £3,000 for 2024/25 and 2025/26. Trading and miscellaneous income allowance: £1,000.
Related articles
File Crypto Tax on Your UK Self Assessment 2025/26
The 2025/26 tax year is the first clean 18%/24% CGT year — no split-year, no Box 51. Here's what to file, when, and how to do it right.
SA108 Crypto 2024/25: Boxes 13.1-13.8 Explained
2024/25 adds crypto boxes to SA108 and split-year CGT rates. See every box, worked examples, and the Box 51 adjustment too.
Same-Day & 30-Day B&B Rules: HMRC Matching Order
HMRC matches crypto disposals in this order: same-day → 30-day B&B → Section 104 pool. See the rule order with worked examples and the loss-harvesting trap.