BLOG

Are Crypto Gas Fees Tax Deductible? Failed Transactions, Approvals and On-Chain Costs

Published on April 21, 2026 - 10 min read

Are Crypto Gas Fees Tax Deductible? Failed Transactions, Approvals and On-Chain Costs

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.

FeeTreatment
Buying tokens with sterling or other fiatAllowable as an acquisition cost
Selling tokens for sterling or other currencyAllowable as a disposal cost
Swapping one token for anotherAllowable — a 50/50 split between the two assets is acceptable
Depositing sterling to an exchangeNot allowable — sterling is not an asset for CGT
Depositing non-sterling fiatNot allowable — no acquisition or disposal occurs
Withdrawing either currency typeNot allowable
Mining equipment and electricityNot 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

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 TokensHow to Do Your Solana and Phantom Crypto Taxes: Staking, Airdrops and SPL Tokens

Solana 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.

9 min read
How to Do Your MetaMask Crypto Taxes: One Address, 14 NetworksHow to Do Your MetaMask Crypto Taxes: One Address, 14 Networks

Your 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.

9 min read
How to Import a Bitcoin Wallet for Taxes: Addresses, xpub and Missing HistoryHow to Import a Bitcoin Wallet for Taxes: Addresses, xpub and Missing History

Importing a single Bitcoin address usually captures a fraction of your transactions. Here is why change addresses hide your history, and what to import instead.

9 min read
How to Do Your Ledger Crypto Taxes: Import Every Chain From One DeviceHow to Do Your Ledger Crypto Taxes: Import Every Chain From One Device

A 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.

9 min read
Does Your Crypto Exchange Report You to the Tax Office? CARF and DAC8 ExplainedDoes Your Crypto Exchange Report You to the Tax Office? CARF and DAC8 Explained

From 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.

10 min read
What Happens If You Don't Report Crypto to HMRC?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.

10 min read