UK Crypto Tax Comparison

Koinly vs ChainTax

Koinly is the most popular crypto tax tool globally. Here's how it compares to ChainTax for UK users filing with HMRC.

Best for Simple exchange trades

Both — with a catch

Both classify exchange buys and sells correctly. But Koinly requires manual UK-mode setup, and Box 51 for 2024/25 is only auto-computed in ChainTax.

Best for DeFi activity

ChainTax

33 protocol-specific classifiers vs heuristic matching. LP positions, bridges, and staking classified correctly.

Best for HMRC compliance

ChainTax

Native Section 104, same-day & B&B matching, SA108 boxes 13.1-13.8, and Box 51 split-year CGT.

Feature comparison

Side-by-side on the features that matter for UK crypto tax.

Data import

  • Exchange CSV import

    Koinly

    700+ exchanges

    ChainTax

    Coinbase, Binance, Kraken, Koinly
  • Exchange API sync

    Koinly

    Auto-sync supported

    ChainTax

    CSV import only

DeFi classification

  • Protocol-specific classifiers

    Koinly

    Heuristic matching

    ChainTax

    33 deterministic classifiers
  • LP position handling

    Koinly

    Often wrong — phantom gains

    ChainTax

    Correct cost basis change
  • Bridge detection

    Koinly

    Often taxed as disposal

    ChainTax

    Non-taxable transfer
  • Staking reward detection

    Koinly

    Partial coverage

    ChainTax

    Income at fair market value
  • Confidence indicators

    Koinly

    No confidence rating

    ChainTax

    High / Medium / Low per transaction

UK tax rules

  • Section 104 pooling

    Koinly

    Available but not default

    ChainTax

    Native — built from the ground up
  • Same-day + B&B matching

    Koinly

    Basic implementation

    ChainTax

    Full HMRC rules with working shown
  • SA108 box mapping

    Koinly

    Report available, manual mapping

    ChainTax

    Boxes 13.1-13.8 auto-filled
  • Box 51 split-year CGT

    Koinly

    Not supported

    ChainTax

    Auto-computed for 2024/25
  • Show Working per disposal

    Koinly

    No audit trail

    ChainTax

    Matching rule, S104 pool, price source

Other features

  • Tax loss harvesting

    Koinly

    Built-in suggestions

    ChainTax

    Not yet available
  • NFT portfolio tracking

    Koinly

    Full NFT support

    ChainTax

    ERC-721 + ERC-1155 (single + batch) lot tracking, plus manual entry for pre-sync / LooksRare / X2Y2 holdings.
  • UK-built company

    Koinly

    Global — HQ in Estonia

    ChainTax

    ChainTax Ltd, Northern Ireland

Pricing

Both tools offer tiered pricing. ChainTax gives more transactions per tier and never charges a subscription.

TierKoinlyChainTax
Free10,000 txs (no report)200 txs (full report preview)Downloadable preview
Newbie$49 · 100 txs£49 · 2,500 txs (Light)25× more transactions
Hodler$99 · 1,000 txs£99 · 10,000 txs (Active)10× more transactions
Trader$199 · 3,000 txs£99 · 10,000 txs (Active)~3× more txs at half the GBP price
Top$279 · 10,000+ txs£99 · 10,000 txs (Active)Same headroom, less than half the price
Higher volumePlans extend above 10,000Concierge sync · email for quoteQuote-first, run by ChainTax
CurrencyUSD (regional pricing)GBP (no FX surprises)GBP-native

Pricing as of April 2026. Koinly prices from koinly.io. ChainTax prices at chaintax.co.uk/pricing.

Deep dives

Where the differences actually matter — real scenarios, real outcomes.

DeFi classification accuracy

What happens when you interact with DeFi protocols

Uniswap V3 LP add

Koinly

Capital Gain

Often classified as a sale — creates phantom capital gain on tokens deposited into the pool.

ChainTax

Liquidity

Classified as cost basis change — deposited tokens exit S104 pool, LP token enters. No taxable event.

Hop bridge (ETH to Arbitrum)

Koinly

Capital Gain

May be classified as a disposal of ETH and acquisition of new ETH — creates a taxable event where none exists.

ChainTax

Transfer

Classified as non-taxable transfer. Cost basis carries across chains automatically.

Lido staking (ETH to stETH)

Koinly

Mostly correct

Usually correct for the initial stake, but rebase rewards are hard to detect from transaction history alone.

ChainTax

Disposal

Initial stake correctly classified as capital gain — ETH→stETH is a token swap (disposal of ETH, acquisition of stETH) under HMRC guidance (CRYPTO40100), not a simple deposit. Rebase detection is a known limitation for both tools.

Aave supply / withdraw

Koinly

Usually correct

Generally correct for simple deposit/withdraw cycles.

ChainTax

Transfer — High confidence

Classified as non-taxable transfer at high confidence. aToken interest is a known limitation for both tools.

Verdict: For simple swaps, both tools work. For LP positions, bridges, and complex multi-step DeFi interactions, ChainTax's protocol-specific classifiers produce more accurate results.

Read more: How HMRC taxes Uniswap LP positions

HMRC matching rules

How each tool applies UK-specific tax calculations

Cost basis method

Koinly

Must configure

Supports Section 104 as an option alongside FIFO, LIFO, and others. UK users must select the correct method.

ChainTax

S104 native

Section 104 is the only method — it's what HMRC requires. No risk of selecting the wrong one.

Same-day rule

Koinly

Basic

Implemented, but the interaction with B&B matching and S104 can produce different results than HMRC guidance.

ChainTax

Full HMRC order

Applied first in strict HMRC priority order: same-day, then 30-day B&B, then S104 pool. Working shown for each.

2024/25 split-year CGT

Koinly

Not supported

Does not compute Box 51. Users must manually split disposals by the 30 October 2024 boundary and calculate the blended rate.

ChainTax

Auto-computed

Automatically splits disposals at the 30 October 2024 boundary. Box 51 adjustment computed and included in the SA108 report.

Loss carry-forward

Koinly

Supported

Supported — carries losses to offset future gains.

ChainTax

HMRC-precise

Supported — losses reduce net gain to the annual exempt amount only, not below, matching HMRC rules.

Verdict: Koinly supports UK tax rules but was built for a global audience. ChainTax was built exclusively for HMRC from day one — Section 104, same-day, B&B, and Box 51 are native, not bolted on.

Read more: Same-day and B&B rules explained

Exchange-only users — where the differences still show up

If you're only on Coinbase, Binance, Kraken — here's what changes

Coinbase report vs. actual HMRC gain

Koinly

Must configure

Koinly supports Section 104 but requires you to configure UK mode. Default cost basis method selection errors — many UK users file with FIFO or LIFO by mistake because the default differs by region.

ChainTax

S104 native

Section 104 is the only method — matches what HMRC requires automatically. No region setting, no chance of wrong-method filing.

Multi-exchange S104 pooling (Coinbase + Binance)

Koinly

Correct

Koinly pools across exchanges — handled correctly when both are imported.

ChainTax

Transparent

Same pool behaviour. Plus every disposal shows which source exchange fed the pool, and the per-disposal Section 104 snapshot before and after.

CARF data reconciliation (2027+)

Koinly

Meets spec

Koinly will update for CARF-format reports when HMRC publishes the schema. No special reconciliation view planned.

ChainTax

Roadmap

ChainTax is designing a CARF-matched view that highlights discrepancies between what HMRC received and what you are filing. Roadmap item for 2027 filing season.

Box 51 split-year CGT (2024/25)

Koinly

Not supported

Koinly does not auto-compute Box 51. Whether you are on Coinbase, DeFi, or both, you manually split disposals at the 30 October 2024 boundary and calculate the blended rate.

ChainTax

Auto-computed

Auto-computed regardless of exchange/DeFi mix. Box 51 is on the PDF report ready to transcribe.

Verdict: Exchange-only users get more than 'both handle this well' — Box 51 is missing in Koinly across the board, S104 is easier to get wrong when the tool lets you pick, and Show Working still matters when your accountant asks how a £10k gain was computed.

Read more: Why your Coinbase report isn't enough for HMRC

Transparency and audit readiness

What you and your accountant can verify

Per-disposal breakdown

Koinly

Summary only

Shows gain/loss per transaction. No detail on which matching rule was applied or how the cost basis was derived.

ChainTax

Full working

Every disposal shows: matching rule (same-day, B&B, or S104), the pool snapshot before and after, the price source, and a confidence rating.

Price sources

Koinly

Opaque

Uses market data but does not expose which source was used per transaction.

ChainTax

Source + confidence

Every event shows its price source (DefiLlama, CoinGecko, or manual) and whether the price is high, medium, or low confidence.

Accountant review

Koinly

Trust-based

The accountant receives a report with final numbers. Verifying the methodology requires trusting the tool.

ChainTax

Fully verifiable

The accountant can trace every disposal from raw transaction to final gain — matching rule, S104 pool state, price source. Nothing is a black box.

Verdict: If your accountant needs to sign off on your return, Show Working is the difference between "I trust this tool" and "I can verify every line."

Read more: Section 104 pool explained

Switching from Koinly takes 2 minutes

Already set up on Koinly? You don't need to start from scratch.

01

Export from Koinly

Go to Transactions → Export → Download CSV. This includes all your exchange and on-chain history.

02

Import into ChainTax

Upload the CSV on the Import page. ChainTax auto-detects the Koinly format and separates on-chain from exchange rows.

03

Better classification

On-chain transactions are re-fetched and classified by our 33 protocol-specific classifiers. Exchange rows are imported directly. One unified report.

When Koinly might be better

No tool is perfect for everyone. Here's where Koinly has the edge.

Exchange API auto-sync

Koinly connects directly to 700+ exchanges via API — no CSV export needed.

ChainTax supports CSV import from Coinbase, Binance, and Kraken — the three largest exchanges used by UK traders. Most users import once per tax year.

Tax loss harvesting

Koinly identifies unrealised losses you could harvest before the tax year ends.

ChainTax tracks all your S104 pools and realised losses, so your accountant can advise on harvesting strategy. A dedicated feature is planned.

NFT portfolio tracking

Koinly tracks NFT acquisitions and builds cost basis for NFT disposals.

ChainTax tracks ERC-721 and ERC-1155 (single + batch) cost basis via FIFO lot matching, with manual entry for pre-sync / LooksRare / X2Y2 holdings. OpenSea, Blur, and Treasure marketplace transactions are classified automatically.

Multi-country support

If you file taxes in multiple countries, Koinly supports 20+ jurisdictions.

ChainTax is built exclusively for HMRC — which means UK-specific features like Box 51 and SA108 are native, not compromises for multi-jurisdiction support.

Frequently asked questions

Is ChainTax better than Koinly for UK crypto tax?

It depends on your activity. For exchange-only traders, both tools handle buys and sells correctly. For DeFi users, ChainTax has 33 protocol-specific classifiers that correctly identify LP positions, bridges, and staking — where Koinly often misclassifies. ChainTax is also built natively for HMRC rules including Section 104 pooling, same-day and B&B matching, and SA108 Box 51.

Does Koinly support SA108 for 2024/25?

Koinly generates a tax report compatible with SA108, but does not auto-compute Box 51 (the split-year CGT rate adjustment for 2024/25). ChainTax automatically calculates Box 51, splitting disposals by the 30 October 2024 rate change boundary.

Can I switch from Koinly to ChainTax?

Yes. You can export your transaction history from Koinly as a CSV and import it directly into ChainTax — the Koinly CSV format is fully supported. On-chain transactions from the CSV are re-fetched and classified by our engine for accuracy.

Which is cheaper — Koinly or ChainTax?

ChainTax caps self-serve at £99 per tax year (Active tier, 10,000 transactions); higher-volume portfolios use the Concierge service. Koinly caps at $279 per tax year (Pro tier, 10,000+ transactions, ≈£221 at current FX). Both tools price per tax year — Koinly plans remain valid for ten years, ChainTax purchases never expire — but ChainTax includes 25× more transactions at the entry tier (2,500 vs 100) and matches the top tier at less than half the price, in GBP. Koinly charges in USD with regional localization.

Does ChainTax handle exchange trades like Coinbase and Binance?

Yes. ChainTax supports CSV imports from Coinbase, Binance, and Kraken. The format is auto-detected, and every trade, reward, and conversion is classified automatically.

What if I have both exchange and DeFi activity?

ChainTax handles both in one report. Import your exchange CSVs and connect your DeFi wallets — all transactions feed into the same tax engine with unified Section 104 pools, HMRC matching, and a single SA108-ready report.

Also compare

Still on Koinly? Switch in 2 minutes.

Export your Koinly CSV, upload it to ChainTax. On-chain rows get re-classified by 33 deterministic classifiers. Exchange rows import directly. One unified report. Free up to 200 transactions.

200 transactions free · From £49 per tax year · No subscriptions ever