Updated in July 2026

Received an HMRC nudge letter, been paid in Bitcoin or sold crypto this tax year? Many UK holders face the same problem: unclear tax treatment, short deadlines and real penalty risk unless records and returns are correct. This article explains what to check now and which records to gather to stop small errors turning into fines.
Act now to sort your records and receipts.
HMRC guidance & news on bitcoin: what matters now
HMRC says Bitcoin is a cryptoasset treated as property for Capital Gains Tax. This means disposals can create taxable gains. HMRC also treats some receipts as income under Income Tax rules. The core HMRC guidance appears on GOV.UK and in the HMRC Cryptoassets Manual. Taxpayers must follow the manual when calculating gains. See HMRC: Tax on cryptoassets
HMRC has increased its focus on cryptoasset reporting and data collection. It may contact taxpayers whose reported figures do not appear to match information obtained from cryptoasset service providers and other sources. The UK Cryptoasset Reporting Framework requires relevant service providers to collect customer and transaction data, with reporting to HMRC scheduled to follow. Expect more automated comparisons between exchange data and Self Assessment returns.
The immediate effect: taxpayers with disposals or taxable crypto income should prepare complete records now. Keep timestamps, transaction hashes, exchange statements and a CSV export that shows GBP values at the time of each movement. Without clear records HMRC queries commonly follow.
Which events HMRC calls disposals
A disposal includes selling Bitcoin for GBP, swapping Bitcoin for other crypto, spending Bitcoin on goods or services, and gifting where you give away ownership. These trigger CGT calculations. Transfers between wallets you control are not disposals when no ownership change occurs. They still require records to prove the transfer.
How HMRC treats income from crypto
Wages paid in Bitcoin, rewards from mining or staking, and some airdrops may create taxable income. The Income Tax Act 2007 and HMRC guidance set the rules. Employers reporting PAYE must value crypto pay at the time of payment using a reasonable market rate.
Which bitcoin movements count as taxable disposals
Taxable disposals cover more events than selling for cash. Swaps from Bitcoin into another token, using Bitcoin to pay for a purchase, and gifting that passes ownership are all disposals. HMRC's approach follows TCGA 1992 matching and pooling rules when assigning cost to each disposal.
A common error is assuming only GBP conversions matter. HMRC treats crypto-to-crypto swaps as disposals and expects gains to be reported. This error caused many nudge letters over several years. Taxpayers who omit swaps risk penalties and interest on the unpaid tax.
Record the exact time, quantity, asset and GBP value at disposal to prove your calculation. Exchange reports often show timestamps in UTC, which can shift the tax-day grouping by one day. This mismatch causes incorrect same-day matching unless corrected.
Investor examples
An investor sells 0.5 BTC for £10,000. The cost basis was £4,000. The taxable gain equals £6,000 before the annual exempt amount. If the annual exempt amount is available, reduce the gain accordingly before applying CGT rates. Keep the exchange ID and timestamp for HMRC checks.
Employees and paid-in crypto examples
An employee receives 0.1 BTC as salary on 1 June 2024. The employer reports PAYE on the GBP value that day. That GBP value forms taxable income and the employee’s acquisition cost for future CGT calculations. If the employer fails to report, the recipient must still declare the income.
How HMRC calculates cost basis and gains
HMRC uses matching rules to find which acquisition a disposal matches. The order is: same-day matching, 30-day matching, then Section 104 pooling. These rules set the cost basis for each disposal and determine the gain or allowable loss. Matching rules come from TCGA 1992 and the HMRC manuals.
Practical same-day and 30-day windows use UK tax-day boundaries. Exchange timestamps in UTC or local time can push a trade outside a window. This causes incorrect pooling unless timestamps are normalised to UK time (GMT/BST). Many enquiries start because timestamps were left in raw exchange UTC.
Fees and commissions change the calculation. If a fee was paid to sell, reduce the proceeds by that fee. If a fee was charged when buying, add it to your acquisition cost. Keep fee receipts and show the fee in GBP at the transaction time.
Matching and pooling rules
Same-day matching pairs acquisitions and disposals on the same tax day. The 30-day rule then covers acquisitions in the 30 days after disposal. Remaining acquisitions join the Section 104 pool. This determines the acquisition cost used to compute gains. Use consistent timezones when applying these rules.
Treatment of fees
A selling fee reduces disposal proceeds and lowers the taxable gain. A buying fee increases the acquisition cost and reduces future gains. Transfers between your wallets do not create gains. List fees paid to move coins as allowable costs if a third party charged them.
Step-by-step: declare bitcoin on self assessment
Report Bitcoin gains in the Capital Gains section of your Self Assessment if you have a taxable disposal. Use the capital gains summary pages and include each gain after the annual exempt amount. Pay attention to the 31 January online filing and payment deadline.
If a gain arises after 5 April but before 31 January, include it in that tax year’s return. Late filing can bring a fixed penalty and daily penalties if not corrected. HMRC can open enquiries into past years if records are poor or figures look inconsistent.
Keep a single CSV per tax year that lists every acquisition and disposal with GBP values. That CSV should match the totals on your return and be available to upload or produce on request for an HMRC enquiry.
Worked numeric example
Example calculation that uses correct HMRC CGT rates for most assets (10% basic, 20% higher):
- Bought 1 BTC on 1 July 2020 for £5,000. (Acquisition cost £5,000)
- Sold 1 BTC on 1 July 2024 for £25,000. (Proceeds £25,000)
- Allowable costs (selling fees) £500. (Net proceedings £24,500)
- Gain = £24,500 - £5,000 = £19,500.
- Annual exempt amount (2023–24) £12,300 reduces taxable gain. Taxable gain = £7,200.
If the taxpayer is a basic rate taxpayer, apply 10% CGT: tax due = £720. If a higher rate taxpayer, apply 20% CGT: tax due = £1,440.
As an illustrative exercise only, here are example computations using hypothetical rates 18% and 24% so the reader can see different outcomes (these are not HMRC standard rates for crypto): tax at 18% = £1,296; tax at 24% = £1,728. Use official HMRC rates when filing.
Enter totals on the Capital Gains Summary section of the Self Assessment (SA108 supplementary pages if required). File your online return and pay any tax due by 31 January following the tax year. For tax owed under £3,000 there is an earlier payment on account rule for some disposals; check HMRC guidance or an adviser for specific circumstances.
Records to attach and present to HMRC
Do not send full CSVs with the initial return unless HMRC asks. Keep the CSV and supporting documents for at least 22 months after the tax year end. Keep them longer if HMRC opens an enquiry. Provide transaction hashes, exchange statements and any correspondence showing how GBP values were calculated when asked.
A worked filing walkthrough makes the mechanics concrete. Start by calculating gains per disposal in your spreadsheet:
- For each disposal compute Net proceeds = GBP proceeds - fees.
- Acquisition cost = matched cost from same-day, 30-day or Section 104 pool.
- Gain = Net proceeds - Acquisition cost. Sum all gains in the tax year, then subtract the annual exempt amount for that tax year to get Taxable gain. Example: total gains £19,500.
- Annual exempt amount (2023–24) £12,300 → taxable gain £7,200. If the taxpayer’s taxable income keeps them in the basic rate band for gains, apply 10% → tax due £720.
- If they are a higher rate taxpayer apply 20% → tax due £1,440.
As an illustrative comparison (not HMRC standard rates), running the same taxable gain at hypothetical 18% gives £1,296 and at 24% gives £1,728. Transfer the post-exemption totals to the Capital Gains summary (SA108) section of your Self Assessment return and retain the spreadsheet to support the figures in case HMRC requests evidence.
Common mistakes that trigger HMRC enquiries
Treating transfers between personal wallets as disposals causes many enquiries. Taxpayers often crystallise gains by recording a transfer out of an exchange as a sale. HMRC sees mismatched totals and asks for evidence. Avoid this by keeping clear transfer records that show ownership did not change.
Omitting crypto-to-crypto swaps is another frequent error. Some taxpayers only report GBP conversions. HMRC considers swaps taxable disposals. Losses also get missed when taxpayers do not aggregate matching rules across multiple exchanges.
Double counting the annual exempt amount across years or claiming the same fee twice leads to obvious mismatches. HMRC's systems flag these discrepancies and letters or enquiries often follow within 12–36 months of the return.
Transfer and pooling pitfalls
Exchanges export trades with different timestamp formats and inconsistent reference IDs. This breaks automatic pooling and causes erroneous gains. Normalise timestamps to UK time and keep a conversion log to avoid HMRC queries.
Record-keeping and double-counting
Listing the same disposal twice (for example, once on an exchange statement and again in a wallet ledger) inflates totals. Reconcile every row in your CSV to either an exchange trade or an on-chain hash. Keep a reconciled ledger showing which records were used for the return.
HMRC-ready CSV templates and simple calculator logic
A CSV prepared for HMRC should follow a clear schema and include GBP conversion at the transaction time. That CSV reduces the chance of an enquiry and speeds up any HMRC data match. Below is a minimal recommended schema and an example row.
CSV
utc_timestamp,tx_hash,tx_type,asset,amount,gbp_value,fee_gbp,exchange,wallet_from,wallet_to
2024-07-01T10:15:00Z,0xabc123,sell,BTC,0.5,12500,25,Coinbase,CB_wallet_1,GBP_wallet
Fields - utc_timestamp: ISO 8601 in UTC. Normalise to UK time when applying same-day rules.
- tx_hash: on-chain transaction id or exchange trade id.
- tx_type: buy, sell, swap, spend, receive, transfer.
- asset: BTC, ETH etc.
- amount: units of asset.
- gbp_value: GBP value at time of the event.
- fee_gbp: fee paid in GBP (or calculated GBP equivalent).
- exchange: name of exchange or "non-custodial".
- wallet_from / wallet_to: identifiers to show flow.
Use these columns to compute gains automatically:
- Net proceeds = gbp_value - fee_gbp for disposals.
- Acquisition cost = sum of acquisition costs matched by same-day, 30-day, or pooling rules.
- Gain = Net proceeds - Acquisition cost.
- Taxable gain = max(0, Gain - applicable annual exempt amount).
- Tax due = Taxable gain * applicable CGT rate.
Keep a running pool value column for Section 104 pooling to show how acquisitions feed future disposals.
A practical, ready-to-use Excel layout speeds up accurate reporting. Create a workbook with three tabs:
- Trades (one row per event using the CSV schema above).
- Pooling (running Section 104 pool with columns for date, asset, units added, GBP cost added, running pool units and running pool GBP value).
- Reconciliation (matching same-day and 30-day adjustments and a one-page summary).
Example formulas: Net proceeds column = [gbp_value] - [fee_gbp]. Running pool GBP value can use =SUMIFS(Trades!gbp_value, Trades!asset, "BTC", Trades!date, "<="&A2) and a running units total =SUMIFS(Trades!amount, Trades!asset, "BTC", Trades!date, "<="&A2). For same-day and 30-day matching, add helper columns that flag candidate acquisitions with =IF(AND(Trades!asset="BTC", Trades!date>=DisposalDate, Trades!date<=(DisposalDate+30)),1,0) and then allocate cost using SUMPRODUCT to proportionally apportion acquisition costs to a disposal. Document each manual adjustment in the Reconciliation tab and export the Trades tab as CSV when sharing with HMRC. This structure gives a clear, auditable trail for enquiries.
2024–2027 timeline: policy, reporting and deadlines
HMRC began sending nudge letters to taxpayers with crypto activity from 2021. Enforcement activity and guidance clarified in recent years. The government set a reporting regime for cryptoasset service providers to supply data to HMRC from 2026. Taxpayers must prepare now for increased automated matching.
Key numeric milestones:
- 2021–2024: HMRC issued nudge letters and expanded crypto queries.
- 2024–25: Annual exempt amount reduced to £6,000 for the tax year 2024–25.
- 2026: Planned start of mandatory reporting by cryptoasset service providers to HMRC, subject to secondary legislation.
Taxpayers should check GOV.UK and HM Treasury pages for final dates and any secondary legislation changes. See FCA: cryptoasset firms
The annual exempt amount fell to £6,000 for 2024–25 and is planned at £3,000 for 2025–26. This reduces the number of small disposals that sit below the threshold and increases the number of taxpayers who must report gains. Plan now to avoid last-minute scrambling before 31 January.
What the 2026 reporting regime means for you
Exchanges and custodial platforms will start reporting customer transaction data to HMRC. This increases the likelihood of automated matches between reported exchange totals and individual Self Assessment entries. In practice this means HMRC will spot mismatches quickly and follow up with nudge letters or enquiries.
How HMRC identifies and matches crypto data
HMRC uses a mix of exchange data requests, industry disclosures, chain analysis tools and international information exchange to link transactions to taxpayers. These methods allow HMRC to move from suspicion to formal enquiry where records do not match. The use of chain analysis firms and MLATs has increased in recent years.
Exchanges that operate in the UK keep KYC records that HMRC can obtain through data requests. Non-custodial wallets remain harder to link but on-chain analysis and eventual cash-outs through KYC venues often provide the connection. Where an address interacts with a KYC exchange, anonymity often ends.
Practical detail from cases: a timezone mismatch across multiple exchange CSVs can cause the same disposal to be matched to different acquisitions. This creates an artificial gain and flags the account for review. Normalise times and include a reconciliation note with your CSV to prevent this.
Chain analysis
Chain analysis links wallet addresses and transaction patterns. HMRC and other tax authorities use this together with exchange KYC records to trace ownership. When a custodial exchange sees a withdrawal to a private wallet and later sees a cash-out, the two events often form a traceable chain.
When anonymity still exists and its limits
Purely off-chain trades for cash between strangers can remain technically hard to trace. That said, cash trades that enter the banking system or a KYC exchange create a link. HMRC can pursue undeclared tax where a cash trail reaches a bank account or exchange tied to an identity.
Prepare records now and reconcile every transaction to a verifiable source: this works well when exchanges provide consistent CSVs, but it fails if timestamps, fee treatment or currency conversions differ across platforms. The practical approach is simple: normalise times to UK clock, convert every value to GBP using the same market rate at the transaction time, and keep a one-page reconciliation that explains any manual adjustments.
That reduces the risk of an HMRC enquiry and cuts response time to under 3–4 weeks when asked for evidence.
On legal access and enforcement:
- HMRC cannot remotely take coins from a private non-custodial wallet without the private keys, but there are established legal routes to restrain or recover crypto once an address is linked to an individual.
- Where linkages exist they can serve information notices, obtain disclosure from exchanges, and apply for court orders or restraint orders under asset recovery legislation to freeze or seize balances held by custodial providers.
- If a KYC exchange holds the assets the exchange can be compelled to freeze or surrender them.
For fully self-custodied coins, enforcement generally depends on convincing evidence that the taxpayer controls keys and then using civil recovery or restraint to secure proceeds when those coins are converted via KYC services.
Comparative table: profiles and tax treatment
| Profile |
Typical taxable events |
Main tax |
Record retention |
| Occasional investor |
Sell for GBP, swaps, spending |
Capital Gains Tax (CGT) |
At least 22 months; keep detailed CSV |
| Employee paid in crypto |
Salary paid in BTC, benefits |
Income Tax and NICs; later CGT on disposal |
Employer PAYE records and receipts |
| Professional trader |
Frequent trades, margin/derivatives |
May be trading income subject to Income Tax |
Detailed trade ledger, per-trade P&L |
Simple flow to prepare records
Prepare one CSV per tax year
Export trades + transfers
Normalise timestamps to UK time
Convert every value to GBP at the event time
Keep fee receipts and exchange statements
Act now to sort your records and receipts.