Independent · Not the Binance website
NBNBNOTE

BNB utility & rule watchReview dates: see each page

Failed transaction on BSC: why BNB gas is still charged

The amount you meant to send stays put; the computation already done is billed. How much depends on whether the transaction reverted, ran out of gas or never reached the chain.

Three ways a transaction can fail
Never reached a block
No network fee at all
Reverted
Gas used up to the failing check
Out of gas
The entire gas limit

Check the status and error text first; they decide which bill applies.

On this page
  1. Which BNB does a failed transaction actually take?
  2. Did it reach the chain? Off-chain failures cost no gas
  3. Reverted by the contract: you pay for the gas used up to that point
  4. Out of gas: the whole limit is consumed
  5. Reading a failed transaction on BscScan: four fields
  6. Will a higher gas limit stop the next failure?
  7. Can a failed transaction fee be refunded?
  8. On opBNB, gas used × price is not the whole fee
  9. How to log failed transactions in a BNB gas budget

Your wallet marks a transaction as failed. The tokens you meant to send are still there, yet your BNB balance is slightly lower. That difference is the network fee: the transaction made it into a block and the virtual machine ran it, but execution stopped before it finished. BscScan's help page on failed transactions puts it plainly — when a transaction is marked Fail, the funds you intended to send stay in your wallet, but the gas fee is still deducted. That page, and the Ethereum gas documentation quoted further down, were both checked in October 2026; treat whatever those pages show when you open them as the current wording.

How much you lose depends on how it stopped. A contract that rejects you early and a transaction that runs out of gas can produce very different bills, and a transaction that never reached the chain costs nothing at all. The three cases are worked through separately below.

Which BNB does a failed transaction actually take?

Every on-chain transaction carries at least two numbers: the amount you wanted to move (the Value field on an explorer) and the cost of running it (Transaction Fee). When execution fails, the first is rolled back with everything else. The second is not.

The fee formula is the same as for a successful transaction: gas actually consumed × price per unit of gas. On BNB Smart Chain the price is normally shown in gwei, and 1 gwei is 0.000000001 BNB. Forget that conversion and your budget is off by a factor of a billion. If the difference between a gas limit and gas used is still fuzzy, the full arithmetic is in gas limit, gas used and the fee you actually pay; this page only follows the failure branch.

So the charge is not a penalty. It pays for computation that validators already performed on your behalf, even though the result was thrown away.

Did it reach the chain? Off-chain failures cost no gas

A red error in your wallet does not always mean there is a failed record on chain. These all happen before a transaction is included in a block:

  • the wallet warned about an insufficient balance before signing, or you pressed reject on the confirmation screen, so nothing was broadcast;
  • the gas limit was below the minimum for that kind of transaction. Ethereum's own gas documentation uses the example of a plain transfer that needs 21,000: give it 20,000 and it is rejected during validation, never enters a block, and consumes no gas;
  • the transaction sat pending and was later replaced by another one with the same nonce (your address's transaction counter) or dropped by nodes. The replaced transaction leaves no on-chain fee; the one that replaced it is the one that pays.

There is one reliable test: paste the transaction hash into a block explorer. If nothing comes up, or it is flagged as dropped or replaced, there was no network fee. If it has a block number and a Fail status, read on.

Reverted by the contract: you pay for the gas used up to that point

Contracts carry their own checks — slippage tolerance, token allowance, a sale that has ended, an insufficient balance. When a check fails, the contract reverts. Every state change is undone, and BscScan shows the status as Fail, often with the text execution reverted and sometimes a reason string written by the contract developer.

A revert charges for the gas burned before the check and leaves the rest of your limit untouched. A made-up example (the numbers are for arithmetic only — not a real transaction and not today's network price):

  • Gas limit: 200,000
  • Reverted at the first check, gas used: 48,000
  • Gas price: 0.1 gwei

Fee = 48,000 × 0.1 gwei = 4,800 gwei = 0.0000048 BNB. The other 152,000 units of the limit were never consumed and never billed.

Do not assume reverts are always cheap, though. If the failing check sits deep in the contract after a lot of work has been done, gas used can come close to the limit.

Out of gas: the whole limit is consumed

The other failure mode is simply not giving the transaction enough gas to finish. In the words of ethereum.org: if a transaction runs out of gas during execution, the EVM reverts any changes, but all the gas provided is still consumed for the work performed. BSC runs the same EVM rules, and BscScan's help page describes Out of Gas as a gas limit set below the computation the transaction needs.

Keep the hypothetical price of 0.1 gwei. Suppose a contract call really needs 230,000 gas but you, or your wallet's estimate, allowed 200,000:

  • first attempt: 200,000 × 0.1 gwei = 20,000 gwei = 0.00002 BNB, all of it charged, transaction failed;
  • resent with a 260,000 limit, 230,000 used: 23,000 gwei = 0.000023 BNB, transaction succeeded;
  • total paid for one action: 0.000043 BNB — close to double a single clean success.

Same 200,000 limit, two failures: the revert cost 0.0000048 BNB, the out-of-gas run cost 0.00002 BNB. How it failed sets the bill.

Reading a failed transaction on BscScan: four fields

You do not need the whole detail page. Look for these (label wording may shift as the site is updated):

  1. Status — Success or Fail. The error text after Fail, execution reverted or out of gas, tells you which calculation applies.
  2. Gas Limit & Usage by Txn — limit and usage side by side with a percentage. A Fail at or near 100% is almost always out of gas; a clearly lower percentage usually points to a revert.
  3. Gas Price — the price per unit, normally in gwei.
  4. Transaction Fee — the final fee in BNB, already computed. Multiply the two fields above yourself; if you land on the same number, you have read the record correctly.

On a failed transaction, Value is only what you tried to send. It never left the address, so do not add it to the fee and book the sum as a loss.

The same help page also lists Bad Jump Destination and Bad Instruction. Those are problems in the contract code itself and only the contract's developer can address them; reverts and out-of-gas are the two cases an ordinary user can act on.

Will a higher gas limit stop the next failure?

Only if the last one ran out of gas. Set the limit above what the transaction actually needs and it has a chance to complete.

It does nothing for a revert. Raising the limit will not create an allowance you never granted, widen your slippage setting or reopen a closed sale. You would simply stop at the same check and pay again. Fix the transaction parameters, or confirm the condition still holds, before resending.

A very high limit is not free insurance either. Unused gas is not charged when execution succeeds, but if the transaction runs out of gas again, the whole larger limit is what you pay. Wallet estimates reflect chain state at the moment of estimation; if a pool's liquidity moves in between, the estimate can be stale.

Can a failed transaction fee be refunded?

Not at the network level. The fee is settled when the transaction is included, and no explorer has a refund button.

Anyone posing as support or a "recovery service" who wants your seed phrase, private key or a signed approval to "return failed gas" is running a scam. The only defence is reading why the last one failed before trying again.

Also check where the failure happened. A failed withdrawal shown inside an exchange or app account is not an on-chain transaction from your address, so whether a fee applies — or comes back — depends on that platform's own records and rules. BNB for gas or fee discounts covers how to tell the two locations apart.

On opBNB, gas used × price is not the whole fee

opBNB is a layer-2 network built on BSC. Besides execution, part of its fee relates to posting transaction data to the layer below. Multiplying gas used by gas price alone will undershoot the explorer's final figure. For a failed opBNB transaction, read the full fee shown on the record and check it against the fee explanation in opBNB's official documentation rather than reusing the two-step BSC arithmetic above.

How to log failed transactions in a BNB gas budget

Failed fees are real spending and belong in your network-fee log, but give them their own column. If one kind of action — swapping during a fast market, say — fails often, that column pushes the true cost per attempt up, and a log of successes alone will understate it.

Imagine 20 contract calls on BSC in a month, two of them failed: one revert, one out of gas. From the examples above, the out-of-gas attempt paid its entire limit while the revert paid only up to the check. Logged separately, next month's review shows which kind of failure needs fixing, instead of leaving a vague sense that fees went up.

Leave headroom in your native BNB for a retry. Gas can only be paid in native BNB at the sending address; WBNB and BNB held on an exchange cannot stand in for it (see why WBNB does not directly pay ordinary gas). If the balance only covers one successful call, a single failure can leave you unable to pay for the resend. Exchange trading-fee reserves are a separate ledger, worked out in how long a BNB fee reserve lasts.

BNB's price moves. The same 0.00002 BNB failed fee is worth a different amount of fiat from week to week, and BNB can lose much of its value. Record the BNB quantity first and any fiat conversion separately, with the price and date you used.