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.
Side-by-side on the features that matter for UK crypto tax.
| Feature | Koinly | ChainTax |
|---|---|---|
| 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 |
Both tools offer tiered pricing. ChainTax gives more transactions per tier and never charges a subscription.
| Tier | Koinly | ChainTax | |
|---|---|---|---|
| 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 |
| Free | 10,000 txs (no report) | 75 txs (full report preview) | |
| Billing | Annual subscription | One-time per tax year | No subscription |
Pricing as of April 2026. Koinly prices from koinly.io. ChainTax prices at chaintax.co.uk/pricing.
Where the differences actually matter — real scenarios, real outcomes.
What happens when you interact with DeFi protocols
Uniswap V3 LP add
Koinly
Capital GainOften classified as a sale — creates phantom capital gain on tokens deposited into the pool.
ChainTax
LiquidityClassified as cost basis change — deposited tokens exit S104 pool, LP token enters. No taxable event.
Hop bridge (ETH to Arbitrum)
Koinly
Capital GainMay be classified as a disposal of ETH and acquisition of new ETH — creates a taxable event where none exists.
ChainTax
TransferClassified as non-taxable transfer. Cost basis carries across chains automatically.
Lido staking (ETH to stETH)
Koinly
Mostly correctUsually correct for the initial stake, but rebase rewards are hard to detect from transaction history alone.
ChainTax
Capital GainInitial 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 correctGenerally correct for simple deposit/withdraw cycles.
ChainTax
Transfer — High confidenceClassified 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.
How each tool applies UK-specific tax calculations
Cost basis method
Koinly
Must configureSupports Section 104 as an option alongside FIFO, LIFO, and others. UK users must select the correct method.
ChainTax
S104 nativeSection 104 is the only method — it's what HMRC requires. No risk of selecting the wrong one.
Same-day rule
Koinly
BasicImplemented, but the interaction with B&B matching and S104 can produce different results than HMRC guidance.
ChainTax
Full HMRC orderApplied 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 supportedDoes not compute Box 51. Users must manually split disposals by the 30 October 2024 boundary and calculate the blended rate.
ChainTax
Auto-computedAutomatically splits disposals at the 30 October 2024 boundary. Box 51 adjustment computed and included in the SA108 report.
Loss carry-forward
Koinly
SupportedSupported — carries losses to offset future gains.
ChainTax
HMRC-preciseSupported — 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.
What you and your accountant can verify
Per-disposal breakdown
Koinly
Summary onlyShows gain/loss per transaction. No detail on which matching rule was applied or how the cost basis was derived.
ChainTax
Full workingEvery 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
OpaqueUses market data but does not expose which source was used per transaction.
ChainTax
Source + confidenceEvery event shows its price source (DefiLlama, CoinGecko, or manual) and whether the price is high, medium, or low confidence.
Accountant review
Koinly
Trust-basedThe accountant receives a report with final numbers. Verifying the methodology requires trusting the tool.
ChainTax
Fully verifiableThe 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."
Already set up on Koinly? You don't need to start from scratch.
Go to Transactions → Export → Download CSV. This includes all your exchange and on-chain history.
Upload the CSV on the Import page. ChainTax auto-detects the Koinly format and separates on-chain from exchange rows.
On-chain transactions are re-fetched and classified by our 27 protocol-specific classifiers. Exchange rows are imported directly. One unified report.
No tool is perfect for everyone. Here's where Koinly has the edge.
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.
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.
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.
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.
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.
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.
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.
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.
Yes. ChainTax supports CSV imports from Coinbase, Binance, and Kraken. The format is auto-detected, and every trade, reward, and conversion is classified automatically.
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
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