Direct answer: OTC and P2P crypto sales are taxable disposals for most UK private investors. They are treated as Capital Gains Tax disposals unless the activity is a trading business. Value is the agreed sale price converted to GBP and backed by contemporaneous evidence. The taxpayer must apply same‑day and 30‑day matching, use pooling rules, keep full records, and report gains on Self Assessment when due.
Why HMRC treats OTC & P2P Crypto Sales as CGT disposals
Enforcement and tax treatment explained in plain terms.
HMRC treats most peer‑to‑peer and over‑the‑counter sales as disposals for Capital Gains Tax. The legal point is a disposal, not a payment method. A sale to another person is a disposal if title passes. This is true whether the sale uses an exchange, an OTC desk, a P2P app or cash face‑to‑face.
The test is simple. Did the taxpayer part with the asset and get value? If yes, a CGT event usually arises. This holds even when the sale feels private or anonymous.
The expert view is that privacy does not remove tax duties. HMRC expects the same rules for any disposal of property.
Check gov.uk for the current Capital Gains Tax annual exempt amount and rates. Always reference the specific page and the date accessed.
A case where the direct answer does not apply is a professional trader. If the activity amounts to a trading business, Income Tax rules may apply instead of CGT. Determining that requires detailed facts and may need specialist advice.
Pause here to check the evidence collected.
How HMRC matches and values OTC & P2P Crypto Sales
Clear rules on valuation, same‑day matching and pooling.
Valuation is the agreed sale price converted to GBP at the disposal time. Use a market price only if it clearly better reflects value. For most OTC and P2P sales the agreed price is the starting point. Supporting evidence must exist.
Matching rules work the same as with exchange sales. The three‑way order is same‑day, 30‑day, then section 104 pooling. Same‑day disposals match acquisitions on that UTC date. Purchases within 30 days after the disposal match next. Any remaining quantity enters the pooled cost basis.
Why this matters — wrong matching creates wrong gains. OTC and P2P chains often have many small transfers. The taxpayer must identify which lot is disposed and which remain pooled.
💡 Consejo
Save the same‑day timestamped evidence for every trade. It makes matching simple and defends the valuation used.
When there is no exchange trade or formal receipt, taxpayers need a practical valuation protocol HMRC will accept. Start by assembling multiple contemporaneous data points. Get at least two independent quotes from reputable OTC desks or exchanges at the disposal timestamp.
Take a screenshot showing the quoted GBP price with the URL and UTC timestamp. Add a bank‑statement trace or a signed cash receipt showing funds received. If only cash was received, a signed receipt with the buyer’s name and a witness signature strengthens the case. An independent witness sworn statement also helps.
If the sale was priced in another crypto, record the precise time and source used for conversion. Use a clear source such as Bank of England mid‑market rate or Reuters/XE. Save the URL and a screenshot for proof.
For higher‑value or disputed sales consider an independent valuation letter. Ask an OTC broker or a chartered accountant to confirm the market range and the reason for the chosen figure. This further improves the chance HMRC will accept the declared proceeds.
As a worked example: if 5 ETH were sold for cash with no exchange trade, gather two exchange GBP quotes within ±30 minutes. Keep a timestamped screenshot of the agreed price between buyer and seller. Add the bank‑statement receipt or signed cash receipt. Include a short dated note explaining why those exchange quotes reflect fair value. This package improves the likelihood HMRC will accept the declared proceeds.
Pause and double‑check timestamps and URLs now.
When OTC and P2P sales become taxable events
Exact disposal points and common triggers described simply.
A disposal arises when control of the crypto passes to the buyer. The payment form does not change that. Selling for cash in a car park is a disposal.
Swapping tokens, gifting, spending or exchanging crypto for services can also be disposals. Transfers between wallets owned by the same taxpayer are not disposals if legal ownership stays identical. Transfers to an exchange that later sells the asset are not disposals until the exchange completes the sale for the taxpayer.
Conversely, sending crypto to a third party who then controls it is a disposal. Keep clear records that show when control passed.
Example 1 worked step by step with matching rules
Sam bought 2 BTC at different times. Sam sells 1 BTC OTC to a private buyer on 10 March 2025 at an agreed price of £30,000.
- Acquisition A: 0.5 BTC bought 1 Jan 2024 at £10,000 per BTC (cost £5,000).
- Acquisition B: 1.0 BTC bought 1 Sep 2024 at £20,000 per BTC (cost £20,000).
- Acquisition C: 0.5 BTC bought 9 Mar 2025 at £28,000 per BTC (cost £14,000).
Apply matching rules for the 1 BTC disposal on 10 Mar 2025:
- Same‑day acquisitions on 10 Mar 2025: none.
- 30‑day rule purchases between 11 Mar and 9 Apr 2025: assume none.
- Remaining matched to the pooled cost. The pool before 10 Mar 2025 contains Acquisitions A and B and residual from previous pools. The matched cost will be the average cost of the pool portion used.
In this example the 1 BTC disposed will be matched to the pool made up of A and B, not C. Taxable gain equals disposal proceeds (£30,000) minus matched cost. This gives a gain of £30,000 minus the pool cost allocated.
Pause to confirm the pool balance and dates.
A simple implementation uses three ordered checks in spreadsheet columns. List disposals, same‑day acquisitions, 30‑day acquisitions and pool cost.
- Column A list: Disposal date, quantity, proceeds in GBP.
- Column B list: Same‑day acquisitions and costs.
- Column C list: 30‑day acquisitions and costs.
- Column D formula for matched cost: =IF(SUM(B_same_day_qty)>0, SUMPRODUCT(B_costs,B_qty)/SUM(B_qty), IF(SUM(C_30day_qty)>0, SUMPRODUCT(C_costs,C_qty)/SUM(C_qty), POOL_UNIT_COST))
This formula returns the unit cost matched to the disposal. For multi‑lot disposals, iterate the routine until the disposal quantity is fully matched. The downloadable spreadsheet applies this logic line‑by‑line.
Calculating capital gains on OTC & P2P transactions
Step‑by‑step maths and worked examples for real accuracy.
Calculation steps are simple in principle. Determine disposal proceeds in GBP. Subtract matched acquisition cost in GBP and deduct allowable costs. Convert any fees to GBP and then apply the CGT annual exempt amount and the tax rate.
Allowable costs include platform fees, seller fees and costs paid to buy the asset such as exchange commission. Travel, general interest or unrelated costs are not allowable.
Worked numerical example with pooling and 30‑day rule
Lee holds 3 ETH acquired in three tranches at different prices. Lee sells 1.2 ETH OTC on 15 June 2025 for 0.05 BTC per ETH. The agreed BTC to GBP conversion at disposal gives proceeds of £2,400.
Acquisitions:
- 0.5 ETH bought 01 Jan 2024 cost £200.
- 1.0 ETH bought 01 Oct 2024 cost £700.
- 1.5 ETH bought 10 Jun 2025 cost £1,050.
Matching for 1.2 ETH sold on 15 June 2025:
1. Same‑day acquisitions on 15 June 2025: none.
2. 30‑day rule purchases between 16 June and 15 July 2025: acquisition on 10 June 2025 falls in the 30‑day window but it was before disposal; the 30‑day rule matches purchases after disposal only. Only purchases after the disposal matter.
3. The 1.2 ETH is matched to the pool of earlier acquisitions.
Compute pooled unit cost: total pooled cost for 1.5 ETH equals £900 (£200+£700). Unit pool cost = £900 / 1.5 = £600 per ETH. Matched cost for 1.2 ETH = 1.2 × £600 = £720. Disposal proceeds = £2,400. Gain = £2,400 − £720 = £1,680.
If Lee has the £3,000 annual exemption for 2024/25, no tax is payable. A record must still be held.
Fees, currency conversion and exact timing
When a sale uses BTC as the unit, the disposal value in GBP is the agreed GBP equivalent at disposal time. Use a reliable exchange rate source and record the timestamp and URL of the rate. Fees should reduce proceeds or increase allowable acquisition cost depending on who paid them. Be explicit in records about who paid fees.
⚠️ Atención
Do not assume a bitcoin price chosen later is acceptable. HMRC expects contemporaneous rates and evidence if a sale used a crypto pair.
Pause to confirm the exchange rate and fee payer.
Reporting obligations for OTC trades and P2P transfers
When and where to tell HMRC about disposals.
Taxpayers must report capital gains on Self Assessment if taxable gains exceed the annual exempt amount. The Self Assessment deadline is 31 January following the tax year. Tax liability must be paid by that date unless other arrangements exist.
Even if no tax is due, keep records for at least six years. If total proceeds are large, or HMRC opens an enquiry, a taxpayer must produce contemporaneous evidence and calculations.
There is no automatic withholding on OTC or P2P crypto sales for UK residents. The taxpayer is responsible for self‑assessment of tax. For cross‑border sales, keep documentation of the buyer’s residence and any foreign tax paid to avoid double taxation.
Practical reporting checklist
- Calculate gains for the tax year and check against the annual exemption.
- Complete the Capital Gains summary on Self Assessment if liable.
- Retain full evidence for at least six years.
- For large cross‑border sales, note any foreign taxes and keep proof of payment.
If HMRC queries OTC or P2P disposals, respond with a clear, organised bundle rather than ad hoc messages. Step 1: prepare a single schedule of disposals for the tax year, showing asset, quantity, disposal date/time (UTC), proceeds in GBP (with conversion source) and matched acquisition lot(s) with costs and allowable fees. Step 2: attach contemporaneous evidence for each disposal in the same folder order: bank statements, signed receipts, escrow or settlement confirmations, timestamped chat/email confirmations and exchange screenshots. Step 3: include a one‑page cover letter summarising the methodology used for valuation, the matching rules applied and a short explanation of any gaps (eg buyer refused KYC but signed a receipt).
If more time is needed, request a formal time extension citing complexity and offer interim disclosure of the most material disposals. A short template opening line for correspondence can help. Consider professional help where disputes arise.
Pause and prepare a single folder of evidence now.
Record keeping tips for peer‑to
The taxpayer should keep clear files for every disposal. Store timestamps, screenshots, bank traces and signed receipts together. Keep a copy of any independent quotes and valuation letters. Use CSV exports from wallets and exchanges to reconcile movements.
An expert opinion: a neat, chronological bundle reduces friction with HMRC and shortens any enquiry. When in doubt, get a short written note from a tax adviser and keep it with the files.
Common errors include using a later exchange rate, missing 30‑day matches, and poor evidence for cash sales. Avoid these by following the steps above. The records and method must allow a third party to recreate the gain calculation.
Pause to ensure every disposal has a dated evidence pack.