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 handle this well

Coinbase buys, Binance trades, Kraken ledgers — straightforward for either tool.

Best for DeFi activity

ChainTax

27 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.

FeatureKoinlyChainTax
Data import
Exchange CSV import
700+ exchanges
Coinbase, Binance, Kraken, Koinly
Exchange API sync
Auto-sync supported
CSV import only
DeFi classification
Protocol-specific classifiers
Heuristic matching
26 deterministic classifiers
LP position handling
Often wrong — phantom gains
Correct cost basis change
Bridge detection
Often taxed as disposal
Non-taxable transfer
Staking reward detection
Partial coverage
Income at fair market value
Confidence indicators
No confidence rating
High / Medium / Low per transaction
UK tax rules
Section 104 pooling
Available but not default
Native — built from the ground up
Same-day + B&B matching
Basic implementation
Full HMRC rules with working shown
SA108 box mapping
Report available, manual mapping
Boxes 13.1-13.8 auto-filled
Box 51 split-year CGT
Not supported
Auto-computed for 2024/25
Show Working per disposal
No audit trail
Matching rule, S104 pool, price source
Other features
Tax loss harvesting
Built-in suggestions
Not yet available
NFT portfolio tracking
Full NFT support
Disposals tracked, acquisition cost not yet
UK-built company
Global — HQ in Estonia
ChainTax Ltd, Northern Ireland

Pricing

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

TierKoinlyChainTax
Entry£49 (100 txs)£49 (500 txs)5x more transactions
Mid£99 (1,000 txs)£99 (2,000 txs)2x more transactions
Top£209 (10,000 txs)£179 (unlimited)£30 less, no cap
Free10,000 txs (no report)75 txs (full report preview)
BillingAnnual subscriptionOne-time per tax yearNo subscription

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

Capital Gain

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

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 27 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 classifies NFT marketplace transactions (OpenSea, Treasure) and tracks sales. Acquisition cost tracking is on the roadmap.

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 27 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 at £179 per tax year (Unlimited tier). Koinly caps at £209 per tax year. Both start at £49, but ChainTax includes 5x more transactions at the entry tier (500 vs 100). ChainTax charges once per tax year with no subscription — Koinly uses annual subscriptions.

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

Your crypto taxes, done right.

Import your exchange trades or connect your DeFi wallets. See exactly how everything is classified. Pay only when you download the report.

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