An Ethereum transaction can fail and still deduct ETH for gas. The charge pays for computation already performed, even when a contract returns no tokens or completes no swap. First check whether the transaction entered a block: a request rejected before inclusion is a different case.
| What you need to know |
|---|
| An included transaction can consume gas even when its intended action fails. |
| A contract revert rolls back state changes but does not refund gas already spent. |
| Running out of gas during execution consumes the gas provided for that execution. |
| A basic transfer rejected for a limit below 21,000 gas consumes no gas before inclusion. |
Ethereum’s gas documentation separates the amount of work a transaction uses from the price paid per unit of that work. Validators must execute instructions to find out whether they succeed. Rolling back a contract’s changes does not undo that work.
Read the failure before changing the fee
A contract can revert because one of its conditions is not met. A swap might fail a price condition; another contract might refuse an operation its code does not permit. The blockchain returns the state to its earlier position, but execution up to that point has consumed gas. Etherscan’s explanation of failed transactions distinguishes this revert from an out-of-gas error. An intended transfer that fails leaves its value with the sender while the gas charge remains.
If execution runs out of gas, the transaction did not have enough units to finish its work. Raising the gas limit can address that specific shortage. It does not make an unmet contract condition true. Check the transaction hash in an explorer and read the reported error before sending another attempt; a second included failure can produce another charge.
There is also a boundary before execution. Ethereum’s documentation gives a simple ETH transfer as an example: it needs 21,000 gas. A request with a limit of 20,000 fails validation before it can be included, so it consumes no gas. That example does not describe a contract call that starts running and exhausts its allowance.
The limit is an allowance, not the bill
The gas limit caps the units available for a transaction. The final charge depends on units actually consumed and their effective price. Under Ethereum’s base-fee and priority-fee system, the price per unit combines the network base fee with the tip, subject to the sender’s fee settings. Unused gas is returned; setting a larger allowance alone does not mean the entire allowance will be charged.
For a hypothetical transaction using 80,000 gas at an effective price of 12 gwei per unit, the fee is 960,000 gwei, or 0.00096 ETH. This is an arithmetic example, not a current network quote. A limit of 100,000 would not turn that charge into 100,000 units if execution consumed only 80,000. An out-of-gas execution, by contrast, uses up its supplied execution allowance.
Before retrying, compare the error with the wallet’s estimate and the contract action you intended. A fee-price change can affect the incentive to include a transaction, while a gas-limit change affects how much execution it can perform. Neither is a promise that the contract will accept the action.






