Many UK investors risk misreporting crypto on Self Assessment when exchange statements, on-chain activity and DeFi positions are mixed. HMRC expects accurate SA108 entries. The right software saves time by cutting manual reconciliation and by producing HMRC-ready exports.
Pick a tool that exports SA108-ready reports, handles API and on-chain imports, and separates capital gains from crypto income. Occasional investors should choose low-cost plans. Active traders need high-volume reconciliation, DeFi and NFT support.
Check your export files carefully before you file them.
Quick comparison table
This table helps choose by import method, transaction limits and whether SA108 export is included.
Table overview
The table lists common choices and what they do for UK Self Assessment. Read the notes under the table for plan traps.
How to read this table
Each row shows a typical plan tier for the stated use case. Check whether the vendor offers a direct SA108 export. Verify limits before subscribing.
| Recommended for |
Software |
Best import |
Typical plan tier |
SA108 export |
| Occasional investor (<=5k tx) |
Koinly |
CSV / Exchange API |
Personal / Pro |
Yes (CSV/PDF) |
| Exchange users & beginners |
CoinTracker |
API / CSV |
Free / Personal |
CSV export, may require manual mapping to HMRC SA108 fields; verify the vendor provides a mapped UK tax report or an accountant‑ready export |
| High‑volume traders, DeFi, NFTs |
TokenTax or CoinLedger |
On‑chain + API |
Pro / Enterprise |
Yes (detailed CSV/PDF) |
| Enterprise / accounts teams |
TaxBit / Lukka |
API / node providers |
Enterprise |
Yes (custom reports) |
Check this before you buy: test a free CSV import and confirm the vendor maps costs to the Section 104 pool correctly.
Buy
Connect exchange or upload CSV
Export
Generate HMRC‑ready CSV / PDF
File
Map totals to SA108 and keep audit trail
Koinly: occasional investors
Koinly suits investors with up to a few thousand transactions per year. The interface makes CSV imports simple. It also supports many UK exchanges.
When to choose Koinly
Choose Koinly when trades are mainly exchange sales and occasional crypto swaps. Koinly handles Section 104 pooling and offers a UK tax report export.
Limitations and costs
Entry plans often cap transactions and may exclude advanced DeFi or NFT valuation. Expect to upgrade for more than 5,000 transactions or for NFT support.
TokenTax & CoinLedger: heavy traders and DeFi
TokenTax and CoinLedger handle large volumes and complex on-chain activity. Both create detailed CSV and PDF reports that map to UK tax fields.
When to choose them
Choose TokenTax or CoinLedger when trades exceed 1,000 transactions. Choose them when DeFi interactions and NFTs need on-chain reconciliation. They accept wallet addresses and node data.
Limitations and costs
Expect higher fees for DeFi parsing and NFT valuations. Enterprise tiers add accountant access and audit trails at extra cost.
CoinTracker: exchange users and beginners
CoinTracker fits users who trade mostly on major exchanges and want a simple interface. It offers API and CSV imports plus basic UK tax exports.
When to prefer CoinTracker
Prefer CoinTracker for mostly fiat-pair trades on Coinbase UK, Binance or Kraken. It suits simple capital gains scenarios and is beginner friendly.
Known limitations
CoinTracker can struggle with very high transaction counts and some DeFi tokens. Confirm SA108 mapping and plan limits before relying on a low-cost tier.
How to choose for your situation
Decide by three criteria: transaction count, import method and asset types. Match those to vendor tier limits before purchase.
Decision checklist
- Count total transactions for the tax year.
- List wallets, exchanges and DeFi protocols.
- Confirm SA108 export availability and plan limits.
Examples by profile
- Occasional investor (under 1,000 tx): Koinly or CoinTracker personal tier.
- Active trader (1k–10k tx): TokenTax or CoinLedger pro tier.
- DeFi/NFT heavy user: TokenTax, CoinLedger or enterprise tools with on-chain support.
A practical buyer should not have to guess whether a plan will cover their volume. Vendors use pricing bands with different transaction caps and feature gates. Entry tiers often cover up to a few thousand simple exchange trades. Mid tiers cover several thousand to tens of thousands and add DeFi and NFT parsing. Enterprise tiers charge per seat or per year for very high volumes and audit trails.
When comparing Koinly, TokenTax or CoinLedger, check exact transaction limits, whether on‑chain enrichment or NFT valuation is included, and whether 'HMRC SA108' exports come directly or only as CSV needing mapping.
Ask vendors for an explicit example: "If I have 8,000 swaps, 1,200 on-chain transfers and 50 NFT sales, which plan covers these and what is the expected additional fee for NFT valuations?" Practical pricing transparency should include transaction caps, how transfers are counted, and whether accountant access is part of the price.
What nobody tells you about imports and reconciliation
Automated imports rarely reconcile perfectly. Always verify fees, internal transfers and price lookups before relying on generated gain figures.
On-chain vs off-chain reconciliation
On-chain imports need wallet addresses and token price sources. Off-chain imports rely on exchange APIs or CSVs that may omit token metadata.
Edge cases and common traps
Airdrops, forks, staking and bridging events often need manual adjustments. Mark internal transfers and spot duplicated txids as part of the review.
The recommendation works well for most taxpayers, but only when exports are checked and adjusted. Heavy DeFi or NFT users need on-chain proof and may require an accountant. Export a full CSV and reconcile key samples before filing.
Reconciling on-chain transaction imports with exchange API imports is a technical but repeatable process. Start by matching txids and timestamps. Export a sample of 20 problematic rows from both sources and compare transaction identifiers, block timestamps and the GBP rate used for each conversion.
Common mismatches arise from duplicate internal transfers, missing fee lines on API exports, and different price or timestamp sources used to convert to GBP. Resolve these by tagging internal transfers as non-disposals. Also ensure fees are attributed to the correct leg of a trade. Force a single reliable price source for that date, such as an exchange mid-rate or a recognised price oracle.
For stablecoins, check whether the tool converts at peg or uses market prices at disposal time. Keep a crypto tax reconciliation sheet that records the chosen price source and any manual overrides. Record the effect on Section 104 pooling so pooled cost calculations can be reproduced later.
Actionable SA108 export and fill steps
Export a clear disposals report that contains the fields HMRC expects. Keep the export and a one-page reconciliation summary for records.
SA108 required fields
An HMRC-ready export should include tax year, taxpayer UTR, date acquired, date disposed, asset, quantity, proceeds (GBP), cost basis (GBP), fee (GBP), gain (GBP), disposal type and txid.
Step-by-step mapping to SA108
Step 1: Generate a full disposals CSV for the tax year. Step 2: Reconcile totals to bank statements and exchange withdrawals. Step 3: Sum gains, subtract allowable losses, then apply the Annual Exempt Amount.
Sample numeric example and mapping:
| Item |
Value |
| Purchase cost |
£1,200 |
| Disposal proceeds |
£2,000 |
| Allowable fees |
£50 |
| Gain |
£750 |
Map the total gains to the SA108 boxes for total gains and taxable gains. For 2024/25 the Capital Gains Annual Exempt Amount is £3,000. For 2023/24 it was £6,000. Keep the CSV and reconciliation for at least 5 years.
Example CSV row (HMRC‑ready):
CSV
UTR,TaxYear,Asset,DateAcquired,DateDisposed,Quantity,ProceedsGBP,CostGBP,FeeGBP,GainGBP,DisposalType,TxID
1234567890,2024-25,BTC,2023-06-10,2024-02-05,0.05,2000.00,1200.00,50.00,750.00,Sale,0xabc123...
Do not apply the guidance if the taxpayer had no disposals or taxable events during the year, is not UK resident, or holds crypto exclusively in tax‑exempt accounts such as ISAs.
Export a full-year CSV and share it with a chartered accountant or crypto tax adviser before filing the Self Assessment return.
When working with an accountant, deliver a concise packet that lets them validate totals and produce the HMRC SA108 entries without redoing your reconciliation. Provide the full disposals crypto tax report CSV with ISO dates and GBP columns, a one-page reconciliation summary showing total proceeds, allowable costs, losses applied and Annual Exempt Amount calculations, a folder of supporting evidence such as exchange statements and export PDFs, and read-only access or a time-limited API key if the vendor supports accountant connections.
Label rows that were manually adjusted and include the reason and the original value. Use secure file transfer and avoid sending write-enabled API keys. This packet lets the accountant drop verified totals directly into Self Assessment crypto boxes and prepare an HMRC SA108-compatible PDF or CSV for submission.
Consider getting a chartered crypto tax accountant to review your SA108 export.
Frequently asked questions
When must crypto be reported on Self Assessment?
Report crypto when disposals or taxable income exceed HMRC thresholds. Disposals include sales, crypto‑for‑crypto trades and spending crypto.
If total chargeable gains exceed the Annual Exempt Amount, the taxpayer must report. For 2024/25 the AEA is £3,000. Income from staking, mining or airdrops may count as Income Tax and must also be reported when above personal allowances.
Can API imports be trusted without checks?
API imports are a good start but need verification. APIs can omit fees and duplicate transfers.
Verify that the API includes fees, matches txids and tags internal transfers. Test by comparing a sample of 20 random transactions to exchange statements and wallet explorer data before relying on totals.
How does Section 104 pooling affect cost basis?
Section 104 pooling groups same‑day and later acquisitions into one pool. The pool rules change per disposal and can alter per‑disposal gains.
Apply same‑day and 30‑day matching rules first, then add remaining holdings to the Section 104 pool. Many tax tools automate this, but check pooled cost against manual samples.
What counts as a disposal for HMRC?
A disposal includes sale, exchange for other crypto and spending crypto for goods or services. Transfers between own wallets are not disposals if properly tagged — label them as internal transfers in the software.
Treat swaps, sales and gifts as disposals and ensure the software records proceeds and cost basis in GBP.
Are NFT sales treated differently for tax?
NFT sales are disposals and usually subject to Capital Gains Tax. Valuation can be complex for creator fees and royalties.
NFT creators may also have Income Tax exposure if the activity counts as trading. Keep detailed records of minting costs, royalties and market fees for accurate reporting.
How long should records be kept for HMRC?
Keep records for at least five years after the 31 January filing deadline that follows the tax year. Longer retention helps with queries.
Records should include exchange statements, wallet exports, CSVs, txids and the one-page reconciliation. HMRC may ask for evidence when a return is selected for review.
When is it worth hiring a crypto tax accountant?
Hire a specialist when transactions exceed thousands or DeFi activity requires on-chain evidence. Complex cases need professional review.
A chartered accountant or crypto accountant can validate pooling, check on-chain valuations and produce an audit trail. If tax-payable sums exceed a few thousand pounds, a professional review often pays for itself.