Are Crypto Gas Fees Tax Deductible? Failed Transactions, Approvals and On-Chain Costs
Published on April 21, 2026 - 10 min read

Table of Contents
Overview
Anyone who has used a blockchain for more than a few months has paid a surprising amount in fees. Gas on Ethereum during a busy period, a fee on every consolidation, a few pounds burned on an approval that enabled a swap, and occasionally a transaction that failed and charged for the privilege.
The obvious question is whether any of that reduces the tax bill. The answer is that some of it does, some of it definitely does not, and one category sits in a genuinely unclear space that most articles on this subject skip over.
This is worth getting right for a practical reason: fees are the part of an on-chain history that import tools most often drop. A missing fee does not throw an error. It just quietly overstates your gain.
What HMRC Allows
HMRC's cryptoassets manual sets out the costs that can be deducted when calculating a capital gain. The list is more generous than people expect on one point in particular.
Allowable costs include:
- the original consideration paid for the asset, in pounds sterling;
- transaction fees paid for having the transaction included on the distributed ledger — which is gas, stated plainly;
- advertising costs for finding a buyer or seller;
- professional costs for drawing up a contract for the acquisition or disposal;
- costs of making a valuation or apportionment to calculate the gain or loss.
That second item is the one to notice. The fee you pay a network to process your transaction is explicitly an allowable cost.
What HMRC Refuses
The same guidance is equally clear about what does not count, and the pattern behind it is consistent: a fee is allowable when it attaches to acquiring or disposing of an asset, and not otherwise.
| Fee | Treatment |
|---|---|
| Buying tokens with sterling or other fiat | Allowable as an acquisition cost |
| Selling tokens for sterling or other currency | Allowable as a disposal cost |
| Swapping one token for another | Allowable — a 50/50 split between the two assets is acceptable |
| Depositing sterling to an exchange | Not allowable — sterling is not an asset for CGT |
| Depositing non-sterling fiat | Not allowable — no acquisition or disposal occurs |
| Withdrawing either currency type | Not allowable |
| Mining equipment and electricity | Not allowable for capital gains |
The mining exclusion catches people out. Electricity and hardware do not satisfy the requirement that a cost be incurred wholly and exclusively for the acquisition of the asset, so they cannot be deducted against a capital gain on the coins produced. That is a separate question from whether mining activity is a trade, which changes the analysis entirely.
The swap line is the most useful for active users. A token-for-token trade is a disposal and an acquisition happening together, and HMRC accepts splitting the fee evenly between the two sides rather than demanding a defensible apportionment.
Review your on-chain costs
The Awkward Cases
Three common on-chain events are not directly addressed by the guidance, and it is more honest to say so than to invent an answer.
Failed transactions. A transaction that runs out of gas or reverts still pays the network — the validators did the work either way. But no asset was acquired and none was disposed of. The fee was genuinely incurred in attempting a transaction, yet there is no completed acquisition or disposal for it to attach to.
Approvals. Before a decentralised exchange can move your tokens, you sign an approval. It costs gas and moves nothing. It is a necessary step toward a later swap, but it is a separate transaction from that swap.
Self-transfers. Moving coins between your own wallets costs a fee but is not a disposal of the coins moved, because beneficial ownership does not change.
There is a defensible argument in each case, and there is a counter-argument. What is not defensible is silently dropping the records. Whatever position you or your adviser take, you need the transactions in front of you to take it, and a report that never captured them has made the decision for you by default.
Paying a Fee Is Itself a Disposal
This part surprises people, and it is not ambiguous.
Gas is paid in the network's native coin. When you spend ETH on gas, you have disposed of that ETH. If the ETH had appreciated since you acquired it, that disposal has a gain attached, calculated against its share of your pooled cost.
For most single transactions the amount is small enough to feel absurd. Across a few hundred transactions over several years, during periods when the coin's price moved considerably, it stops being trivial.
The saving grace is that this is arithmetic, not judgement. Once the transactions are imported with their fees, the calculation follows the same pooling rules as everything else — same-day, then thirty-day, then the Section 104 pool in the UK.
Why Fees Go Missing From Imports
A fee is attached to a transaction rather than being one, which is exactly why naive imports lose it.
The transactions most likely to lose their fee are the ones where nothing else moved:
- a failed transaction, which many explorers treat as a non-event;
- an approval, which transfers no tokens at all;
- a self-transfer, where the incoming and outgoing sides cancel out;
- a claim where an asset arrived and nothing left, so the outgoing fee is easy to overlook.
Each of those has the same shape: no obvious asset movement, so a simple importer skips the row entirely and the fee vanishes with it. CryptoTaxBridge imports these transactions specifically so the cost is present and visible, which means your history will contain rows that look like they do nothing. They are not noise — they are the fee record.
Import full transaction history
Layer 2s Changed the Shape of This
Fees on Ethereum mainnet during a busy period were large and few. Fees on Arbitrum, Base or Polygon are tiny and constant. Someone who moved to an L2 in 2023 may have thousands of transactions each costing fractions of a penny.
Two things follow. First, the total still matters even when each item does not, and it can only be totalled if the transactions were imported. Second, an L2 fee is not always a single number — rollups pay for data on the underlying chain as well as for their own execution, and not every data source reports both components.
The practical guidance is the same as everywhere else in this article: import from every network you have used, and check that outgoing transactions carry a fee rather than a blank. Importing MetaMask across every network covers how to make sure nothing is left out.
What to Check After an Import
Once your on-chain history is in, a short review answers most of the questions above:
- outgoing transactions show a fee, and it is denominated in the network's own coin;
- failed transactions are present rather than silently absent;
- approvals appear, even though they moved no tokens;
- swap fees are attached to the swap rather than floating loose;
- self-transfers show the fee without treating the moved asset as sold.
If any of those are empty, the report will be arithmetically confident and wrong.
Conclusion
Gas is a real cost of dealing in crypto, and HMRC's own guidance says so — transaction fees for inclusion on the distributed ledger are an allowable cost. Deposit and withdrawal fees are not, and mining costs are not.
The cases in between deserve a considered position rather than a default one. That is only possible if the underlying transactions were captured in the first place, which is why the fee question is ultimately an import question. Get the data in, review what it contains, and the deduction argument becomes something you can actually make.
Generate a tax report
Official Resources
- HMRC: allowable expenses for cryptoassets (CRYPTO22150)
- HMRC: pooling and matching rules (CRYPTO22200)
- HMRC: what is a disposal (CRYPTO22100)
- IRS: digital assets
This article provides general information and is not tax advice. The treatment of fees on failed transactions, approvals and self-transfers is not directly addressed by published guidance; take professional advice where the amounts are material.
Keep reading
How to Do Your Solana and Phantom Crypto Taxes: Staking, Airdrops and SPL TokensSolana wallets generate hundreds of small reward receipts and a pile of airdropped tokens. Here is how each is treated and how to import them for tax.
How to Do Your MetaMask Crypto Taxes: One Address, 14 NetworksYour MetaMask address is identical on every EVM network, but each network keeps its own history. Here is how to import all of them for tax reporting.
How to Import a Bitcoin Wallet for Taxes: Addresses, xpub and Missing HistoryImporting a single Bitcoin address usually captures a fraction of your transactions. Here is why change addresses hide your history, and what to import instead.
How to Do Your Ledger Crypto Taxes: Import Every Chain From One DeviceA Ledger device holds coins on many separate blockchains at once. Here is how to import all of them for crypto tax reporting without losing history.
Does Your Crypto Exchange Report You to the Tax Office? CARF and DAC8 ExplainedFrom 1 January 2026 crypto platforms collect and report user and transaction data automatically. Here is what CARF and DAC8 cover, and the dates that matter.
What Happens If You Don't Report Crypto to HMRC?HMRC penalties for undeclared crypto depend heavily on whether you come forward first. Here are the actual percentages and how far back a disclosure reaches.