How HMRC Taxes DeFi Token Swaps (Uniswap, 1inch, Curve)
How current UK rules tax DEX swaps and routing, plus the announced Capital Gains Tax exemption for eligible stablecoins from April 2027.
You swapped ETH for USDC on Uniswap. No fiat was involved. No bank account was touched. You might assume there's nothing to report.
Under the current rules, that assumption is usually wrong. Exchanging one cryptoasset for another is a disposal for Capital Gains Tax purposes even if you never "cashed out." The announced April 2027 exemption for eligible stablecoins changes the stablecoin side of this rule, not the disposal of ETH or another non-stablecoin used to buy one.
This guide covers exactly how HMRC taxes DeFi swaps, what the gain calculation looks like, how aggregators and routing complicate things, and the mistakes that lead to incorrect tax bills.
Why a swap is a disposal under current rules
HMRC's position is clear: disposing of a cryptoasset includes "exchanging it for a different type of cryptoasset" (CRYPTO22100). When you swap ETH for USDC on a DEX, you've disposed of your ETH at its market value in GBP at the time of the transaction. The USDC you receive is a new acquisition, also valued at GBP market price on that date.
The rule that catches people
Swapping ETH → USDC disposes of ETH. Swapping USDC → WBTC currently disposes of USDC. Swapping WBTC → ETH disposes of WBTC. Record each user-level exchange, but do not count a DEX router's internal hops as separate trades. Whether the disposals must appear on a return depends on the reporting tests that apply to the tax year.
Our crypto tax calculator computes the gain or loss on each swap as:
Proceeds (GBP value of token received at time of swap)
minus Cost basis (from your Section 104 pool for the token disposed)
minus Gas fees (allowable cost under HMRC rules)
= Capital gain or loss
Both sides of the swap then update your Section 104 pools. The token you disposed of has units removed from its pool. The token you received enters its own pool as a new acquisition at the GBP market value on that date. These pools track a weighted average cost basis across all your holdings of each token, HMRC doesn't use FIFO or LIFO. See our full guide to Section 104 pooling →
Scenario 1: a simple DEX swap
You bought 2 ETH in January 2024 for £3,400 total. In November 2024, you swap 1 ETH for 3,200 USDC on Uniswap V3 when ETH is worth £2,800. Gas costs £4.
Worked example
Proceeds: £2,800 (GBP value of 3,200 USDC at time of swap)
Cost basis: £1,700 (1 ETH from your S104 pool, average cost £1,700/ETH)
Gas: £4
Gain: £1,096
This disposal happened after 30 October 2024, so it's taxed at the new CGT rates: 18% for basic rate taxpayers, 24% for higher rate. Your S104 pool for ETH now holds 1 ETH at £1,700. Your USDC pool gains 3,200 USDC at a cost basis of £2,800.
Scenario 2: aggregator swaps and routing
Aggregators like 1inch don't execute a single swap. They split your trade across multiple liquidity pools to get the best price. A single 1inch transaction might route your ETH through Uniswap V3, Balancer, and Curve, with intermediate hops through WETH, USDT, or other tokens along the way.
For a routed trade, the user-level economic exchange matters. If you sent 1 ETH and received 3,200 USDC, the internal pool hops are not separate trades you chose or assets you held. The evidence should still be checked where routing leaves residual tokens or more than one economic output.
How ChainTax handles supported aggregator routing
ChainTax traces all token transfers within a transaction and nets bidirectional same-token flows. If your swap routes through WETH as an intermediate step, those WETH transfers cancel out in the netting, so you're left with what you actually sent and what you actually received. Incomplete or ambiguous multi-output flows stay visible for review instead of being presented as a settled swap.
ChainTax treats direct ETH to WETH wrapping and unwrapping as a transfer where the economic evidence shows the same owner and asset exposure. That is different from receiving a liquid-staking or receipt token with separate rights, which needs its own analysis.
Named classifiers cover Uniswap V1, V2, and V3; 1inch V1 through V6; Curve; Balancer V1 and V2; and Mooniswap. Generic pattern matching can identify a simple one-token-out, one-token-in exchange on other DEXes; unfamiliar or incomplete activity remains in Needs review. Try a transaction hash in the free transaction explainer to see the classification instantly.
Scenario 3: stablecoin-to-stablecoin swaps
Swapping USDC for DAI feels like moving between two versions of the same thing. They're both pegged to the dollar. Surely there's no gain?
Usually, you're right, and the gain will be close to zero. But "close to zero" isn't the same as "not reportable." Under the current rules, HMRC treats USDC and DAI as different cryptoassets. Exchanging one for the other is a disposal. If the GBP/USD exchange rate has moved since you acquired the USDC, or if you acquired it at a slight premium or discount, there will be a small gain or loss.
Why it still matters
You bought 10,000 USDC in June 2024 when GBP/USD was 1.27, so cost basis £7,874. You swap to DAI in December when GBP/USD is 1.25, proceeds £8,000. That's a £126 gain from FX movement alone. Over many stablecoin swaps, these add up. More importantly, if you are registered for Self Assessment, every disposal counts towards the £50,000 gross-proceeds test for including the disposals on your return. If you are not registered, that threshold alone does not require a return.
Scenario 4: failed transactions
Your swap failed. The transaction reverted, no tokens changed hands. Is the gas fee an allowable cost?
No. A failed transaction is not a disposal. Since there was no disposal, there's no gain to deduct costs from. The gas fee is simply a lost cost. You can't claim it against CGT, and you can't claim it as an expense unless you're trading as a business (which almost no individual investor is).
Where the receipt confirms that a transaction reverted, ChainTax excludes it from disposals and does not attach its gas to a gain. Missing receipt evidence remains reviewable.
The 2024/25 split year and your swaps
The Autumn Budget on 30 October 2024 changed CGT rates mid-year:
| Period | Basic rate | Higher rate |
|---|---|---|
| 6 Apr – 29 Oct 2024 | 10% | 20% |
| 30 Oct 2024 – 5 Apr 2025 | 18% | 24% |
If you were active on DEXes throughout the year, your swaps before and after 30 October are taxed at different rates. A swap on 28 October is taxed at 10%/20%. The same swap two days later is taxed at 18%/24%. Your self-assessment needs to split these correctly, and this is reflected in SA108 Box 51, an adjustment box that accounts for the rate change.
The annual exempt amount is £3,000 for 2024/25, 2025/26 and 2026/27 (frozen). Only gains above this threshold are taxed. Losses from swaps that went against you can offset gains, but HMRC only lets you use losses to reduce your net gain down to the exempt amount, not below it.
When gas can be an allowable cost
A gas fee incurred wholly and exclusively for an acquisition or disposal can be an allowable cost. A failed transaction, a fee tied to income, or a fee covering a different action should not automatically be deducted from a capital gain.
For a supported disposal, ChainTax prices the directly associated gas in GBP at the transaction time and includes it in the disposal working. The Show Working panel exposes the amount so it can be checked rather than assuming every wallet fee qualifies.
Where automated swap classification can go wrong
Common errors to check when reviewing automated DEX-swap classification:
- Counting aggregator routing hops as separate disposals. Parsing every Transfer log as an independent user trade can create phantom disposals. Review the net user-level exchange and any residual outputs.
- Treating every wrapper alike. A direct ETH → WETH wrap can preserve ownership and economic exposure. Receipt and liquid-staking tokens may carry different rights and need separate analysis.
- Ignoring or over-claiming gas. Direct acquisition and disposal costs may qualify, but failed, income-related, or unrelated fees should not be deducted automatically.
- Applying a single CGT rate to 2024/25. The split-year rate change means every disposal needs per-transaction rate determination. A flat rate across the year is wrong by definition.
- No Section 104 pooling. Tools that use FIFO matching instead of HMRC's required same-day → B&B → S104 priority chain will produce different cost basis figures and different gains. The numbers might look plausible, but they won't match what HMRC expects.
What to do if you've been swapping all year
- Record each user-level swap. Under the current rules, token-to-token exchanges create disposals, even without a cash-out. The reporting thresholds decide whether they must be included on a return; they do not change the underlying calculation.
- Count disposals, not just "cash-outs." If SA108 is required, include the relevant token-to-token disposals that never touched fiat as well as sales for pounds.
- Check the dates. In 2024/25, the CGT rate depends on when each swap happened. Anything before 30 October is 10%/20%. Anything on or after 30 October is 18%/24%.
- Don't forget losses. Swaps that resulted in a loss (you disposed of a token for less than your average cost basis) are valuable. They offset your gains. The £3,000 annual exempt is applied after loss offset.
- Verify your tool handles aggregators correctly. If you used 1inch and your tax tool shows three disposals for a single swap transaction, something is wrong. Paste the transaction hash into our free explainer to see what ChainTax detects.
Related reading
See exactly how your swaps are classified
ChainTax classifies supported Uniswap, 1inch, Curve, and Balancer activity, shows the net flow and Section 104 working, and keeps incomplete evidence visible. Free for up to 200 transactions.
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 filing your self-assessment return. HMRC guidance referenced: CRYPTO22100, CRYPTO22150, CRYPTO22200.
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, with no split-year and no Box 51. Here's what to file, when, and how to do it right.
Crypto Airdrops Tax UK: When HMRC Taxes Free Tokens
Treating every airdrop as a zero-cost token can overstate the gain when you sell. Here's how HMRC taxes crypto airdrops, and why the cost basis matters.
CEX vs DeFi Crypto Tax UK: Key HMRC Differences
HMRC pools tokens across exchanges and DeFi, but the tax records look very different. Learn the key UK crypto tax differences and risks.