Are concerns building about how HMRC will view past Bitcoin disposals? Does uncertainty over the correct cost basis risk overpaying tax or triggering enquiries? This practical guide explains Bitcoin Cost‑Basis Methods used by HMRC, shows worked examples for typical disposals, and points to tools and record formats that make compliance straightforward and verifiable.
Key takeaways: what to know in one minute
- HMRC requires matching rules rather than FIFO for disposals: same‑day, 30‑day and Section 104 pooling apply to Bitcoin in the UK.
- Section 104 pooling typically pools identical crypto (eg Bitcoin) acquired at different times and calculates average cost per unit inside the pool.
- Calculations must include fees and GBP conversions; small differences in cost‑basis method can materially change the reported gain.
- Good tools and exports (CSV) cut errors: choose software that supports same‑day and 30‑day matching and exports HMRC‑friendly reports.
- Keep full records for 20 years in some cases and link to HMRC guidance for proof if requested.
Understanding HMRC cost‑basis rules for Bitcoin
HMRC treats cryptoassets as property for capital gains tax (CGT) purposes. Disposals of Bitcoin, whether sale for GBP, exchange for another crypto, spending, or gifting, can create a taxable gain or allowable loss. The tax outcome depends on the cost basis assigned to the specific units disposed.
HMRC does not permit arbitrary international methods such as FIFO or LIFO as the primary system. Instead, the UK applies three ordered matching rules for individuals and trustees:
- same‑day matching: units acquired on the same day as the disposal are matched first;
- 30‑day matching (bed and breakfast rule): acquisitions within 30 days after the disposal are matched second;
- Section 104 pooling: any remaining units of the identical asset are treated as part of a pooled holding and matched using the average cost per unit.
For the official HMRC overview see HMRC: Tax on cryptoassets.
Same‑day, 30‑day and Section 104 holding rules explained
Same‑day matching rule
Same‑day matching matches disposals to acquisitions on the same calendar day (UK time). This avoids artificial manipulation when buying and selling within a day. It is applied before the 30‑day rule.
30‑day matching rule
If no same‑day match exists, acquisitions within the 30 days immediately following the disposal are matched next. This is often called the bed and breakfast rule and prevents deferring gains simply by repurchasing shortly after a disposal.
Section 104 pooling rule
Any remaining units of the same crypto (for example, Bitcoin) are pooled under Section 104 of the Taxation of Chargeable Gains Act. The pool holds an aggregated quantity and an aggregated cost. Each disposal reduces the pool and the cost basis withdrawn is the pool’s average cost per unit multiplied by the quantity disposed.
Example effect: selling 0.5 BTC from a pool of 2 BTC with an average cost of £20,000 per BTC yields cost basis 0.5 × £20,000 = £10,000.
How to calculate Bitcoin cost basis for disposals: step‑by‑step
Follow these steps for each disposal to determine the correct cost basis under HMRC rules.
Step 1: list chronologically all acquisitions and disposals in UTC/UK time
- Include date and time (UTC or UK), quantity (satoshis acceptable), purchase price in original currency, fees, and GBP equivalent at time of transaction.
- Convert every non‑GBP amount to GBP using a reliable exchange rate on the transaction date; document the source of the rate.
Step 2: apply same‑day matching
Identify units acquired on the same calendar day as the disposal. If present, match disposals to these units first and calculate their cost using the acquisition cost plus attributable fees.
Step 3: apply 30‑day matching
If the disposal remains unmatched, identify acquisitions in the 30 days after disposal. Match sequentially and account for acquisition fees and GBP conversions.
Step 4: use section 104 pooling for remaining units
If units remain unmatched, calculate the pool’s average cost per unit:
Average cost per unit = (total cost of pool including fees) ÷ (total units in pool)
Reduce the pool quantity by the disposal amount and reduce the pool cost by the average cost withdrawn.
Step 5: compute gain or loss
Gain = Proceeds in GBP (net of selling fees) − Cost basis in GBP (as determined above)
If disposal is exchange‑for‑crypto, treat proceeds as the market value in GBP at the time of the swap.
Worked numeric example (illustrative)
- 2023‑01‑01: bought 1.0 BTC at £10,000 (fees £50) → cost £10,050
- 2023‑03‑01: bought 0.5 BTC at £15,000 (fees £25) → cost £7,525
- Pool total after 2023‑03‑01: 1.5 BTC, cost £17,575, average £11,716.67
- 2023‑06‑01: sold 0.75 BTC for £30,000 (fees £75)
No same‑day or 30‑day matches apply, so use Section 104 pooling:
- Cost basis for 0.75 BTC = 0.75 × £11,716.67 = £8,787.50
- Proceeds net = £30,000 − £75 = £29,925
- Gain = £29,925 − £8,787.50 = £21,137.50
This example is indicative and simplified; real calculations must use exact rates and include all fees.
Comparative impact: same‑day vs 30‑day vs Section 104 (visual table)
| Rule |
When used |
Matching order |
Typical tax impact (example) |
| Same‑day |
Acquired same day |
1st |
May use lower or higher recent cost, small effect |
| 30‑day |
Acquired within 30 days after disposal |
2nd |
Prevents cherry‑picking, can increase gain vs pooling |
| Section 104 |
Remaining identical units |
3rd |
Uses average cost; often smooths out volatility |
What happens with trades, forks, airdrops and gifts under cost‑basis methods
- Exchanging Bitcoin for another crypto counts as a disposal: use market value in GBP to determine proceeds and then apply matching rules to determine cost basis.
- Forks and airdrops can create new assets with acquisition cost at market value when received; separate rules apply and a clear record of receipt time and value is essential.
- Gifts and transfers to spouse may be treated at no gain/no loss in some circumstances; cost basis tracking remains necessary for later disposals.
For HMRC specifics on disposals see HMRC guidance on cryptoassets.
Software selection should be guided by three priorities: accurate implementation of HMRC matching rules, GBP conversion fidelity, and exchange/wallet integrations with reliable CSV exports.
Recommended tool features to look for:
- Explicit support for same‑day, 30‑day and Section 104 pooling matching
- Ability to import CSVs from major exchanges and wallets, and handle on‑chain transfers
- Historical GBP rate sourcing with traceable citations
- HMRC‑ready reports and capital gains summary
- Audit trail and immutable export (CSV/PDF) for enquiries
Examples of popular tools (research current features before purchase):
- Tax reporting platforms that explicitly list HMRC matching rules in features
- Multi‑exchange aggregators with GBP valuation engines
- Spreadsheet templates with prebuilt formulas for pools and matching
When evaluating providers, confirm regulatory disclosures via the FCA and verify data handling practices under the ICO.
Quick workflow: from exchange CSV to HMRC report
1️⃣
Export CSVs from exchanges/wallets
Include timestamps, amounts, fees
2️⃣
Import to tool and set GBP rates
Verify rate source and document link
3️⃣
Apply HMRC matching rules
Same‑day → 30‑day → S104 pooling
4️⃣
Review and export HMRC report
CSV + PDF with audit trail
5️⃣
Store records and retain proof
Keep exports for at least 6 years (longer if open enquiries)
Record‑keeping essentials for capital gains on crypto
Accurate records make cost‑basis calculations reproducible and defendable during enquiries. Essential items to retain:
- Date and time (UTC/UK) of every acquisition and disposal
- Quantity of Bitcoin (satoshis permitted) and unit identifiers where available
- GBP value at the time of the transaction and method/source of conversion
- Fees (exchange, network) and their allocation to cost or proceeds
- Transaction IDs and export files (CSV/PDF) from exchanges and wallets
- Notes on transfers between own wallets (non‑disposals) with proof
HMRC expects records sufficient to allow verification of declared gains. For guidance on record retention and what counts as evidence, see HMRC cryptoassets guidance.
Common pitfalls when reporting Bitcoin gains to HMRC
- Ignoring fees or incorrect fee allocation: fees change the effective cost basis and proceeds—include them consistently.
- Incorrect GBP conversion: using inconsistent or unaudited rates can trigger enquiries.
- Treating coins as fungible without applying HMRC rules: FIFO/LIFO in other jurisdictions do not replace HMRC matching rules.
- Incomplete records for on‑chain transfers: transfers between personal wallets can look like disposals without supporting metadata.
- Relying on exchange statements only: statements that omit timestamps or internal transfer labels often require manual reconciliation.
Advantages, risks and common mistakes (when to apply which practice)
✅ Benefits and when to apply
- Using a compliant tool reduces calculation time and error rates; recommended when trades exceed a handful.
- Including network fees and spread ensures that taxable gains are neither overstated nor understated.
- Keeping exports prevents future disputes and supports HMRC queries.
⚠️ Errors and risks to avoid
- Using inconsistent valuation sources across transactions.
- Failing to apply the 30‑day rule when repurchases occurred shortly after disposals.
- Letting pooled averages drift without verification after many partial disposals.
Frequently asked questions
What are Bitcoin cost‑basis methods recognised by HMRC?
HMRC uses an ordered set of matching rules: same‑day, 30‑day, then Section 104 pooling for identical assets. These replace common international terms like FIFO for UK individuals.
How should fees and exchange spreads be treated in cost basis?
Fees directly attributable to acquisition increase cost basis; fees from disposal reduce proceeds. Document allocations and sources of exchange rates.
Can software choose FIFO or LIFO instead of HMRC rules?
Software may offer FIFO/LIFO for international users, but for UK personal tax purposes the HMRC rules (same‑day, 30‑day, S104) must be applied when reporting to HMRC.
How long must records be kept for HMRC?
Records supporting self‑assessment and CGT calculations should normally be kept for at least 6 years. Longer retention may be required if there are open enquiries.
Is every crypto‑crypto trade a taxable disposal?
Yes. Exchanging Bitcoin for another crypto counts as a disposal at the market value in GBP at the time of the swap and must be reported if the result is a chargeable gain.
What happens if HMRC queries an earlier return?
Respond with the audit trail: CSV exports, exchange receipts, rate sources and the matching logic applied. Consider seeking help from a regulated tax adviser for complex cases.
Are micro‑fractions (satoshis) handled differently?
No. HMRC accepts satoshi‑level precision; the same matching and pooling rules apply. Maintain precise quantities and avoid rounding until final calculation.
Can mistakes be corrected retrospectively?
If an error is discovered, amendments to the self‑assessment return may be possible within statutory amendment windows. For larger or older errors, professional advice is recommended.
Which exchanges provide HMRC‑friendly exports?
Many major exchanges offer CSVs; however the critical requirement is that exports include timestamps, fees and clear transfer labels. Verify before relying on a single provider.
Next steps
- Gather CSVs from all exchanges and wallets and ensure every transaction has a timestamp, quantity, fee and GBP value.
- Import data into a tool that explicitly supports HMRC matching rules and produce an HMRC‑ready report.
- Retain exports and proof of rates for at least six years and consult a regulated tax professional for complex situations.