Gas Fees on Ethereum, Explained for Self-Custody Users

·8 min read·By SSP Editorial Team
SSP coin-guides cover for gas fees on Ethereum, with base fee, priority fee and EIP-1559 subtitle on a dark navy and amber background

Gas Fees on Ethereum, Explained for Self-Custody Users

Every action on Ethereum costs gas, and for someone holding their own keys that fee decides whether a transaction confirms or sits stuck. Getting ethereum gas fees explained in plain terms is one of the most useful things a self-custody user can do: once the mechanics click, the numbers your wallet shows become a decision you make on purpose.

This guide covers what you pay for, the fee formula, how EIP-1559 splits a fee into a burned base fee and a validator tip, why even a failed transaction costs money, and how SSP and cheaper L2 chains fit in. New to ETH in SSP? Start with Ethereum in SSP, then come back here.

What gas actually is

Gas is the unit Ethereum uses to measure computational work. Every operation has a fixed gas cost, and the network sums them: a plain ETH transfer is cheap because it does little, while a swap or DeFi interaction touches more contract code and burns more gas. Gas exists because block space is shared and limited, so the network prices demand for it and pays the validators who run the work. The Ethereum Foundation's gas documentation is the canonical reference.

The fee formula: gas used times gas price

The total fee for any transaction is a simple multiplication:

fee = gas used × gas price

Gas used is how much work the transaction performed; gas price is what you pay per unit, in gwei — a slice of ETH, where one ETH is one billion gwei and one gwei is one billion wei, the smallest unit. So a transfer using 21,000 gas at 20 gwei costs 0.00042 ETH; at 80 gwei it costs four times as much, though the work is identical. The price per unit moves with demand while the work stays fixed.

EIP-1559: base fee plus priority fee

In 2021 the EIP-1559 upgrade changed how the gas price is set: instead of one blind auction where everyone guessed, the fee now has two parts.

The base fee is set algorithmically by the protocol, per block, based on how full the previous block was: it rises when blocks run more than half full and falls when they run emptier, so the price responds smoothly to demand. Crucially, the base fee is burned — permanently removed from circulation — so it does not go to any validator.

The priority fee, or tip, is what you add on top to incentivize a validator to include you sooner. Because the base fee is burned, the tip is what validators actually earn, so a higher tip wins contested block space when the network is busy. The base fee is fixed for everyone in a block; the tip is the lever you control. For the full specification, see EIP-1559 itself.

maxFeePerGas and maxPriorityFeePerGas: the caps you set

Because the base fee can move between blocks while your transaction waits, EIP-1559 lets you set two ceilings instead of one fixed price.

  • maxPriorityFeePerGas is the most you will pay as a tip to the validator.
  • maxFeePerGas is the absolute most you will pay per unit of gas in total — base fee plus tip combined.

You are charged the block's actual base fee plus your tip, never more than maxFeePerGas; if the base fee comes in low, the rest is refunded, so a surge cannot overcharge you. Most wallets, SSP included, fill these in from current conditions, so you pick a speed rather than typing numbers.

Gas limit vs gas used, and why failed transactions still cost gas

One more number trips people up: the gas limit, the maximum gas you authorize a transaction to consume. It is a safety ceiling on the work, not a price — you are billed only for gas actually used. A plain transfer always uses 21,000 gas; for a contract interaction the wallet estimates a limit with headroom.

The painful part is failure. If a transaction runs out of gas or reverts partway, the work already done still has to be paid for. A failed or reverted transaction still costs gas. Too low a gas limit is a common cause of out-of-gas failure, which is why letting your wallet estimate the limit beats hand-tuning it.

Why gas fees spike

Gas prices rise for one reason: demand for block space outstrips supply. Block size is capped, so when many people transact at once — a popular token launch, a sought-after NFT mint, a sharp market move — the base-fee algorithm pushes the price up block after block until demand cools, while tips climb as users compete to be included.

Fees on Ethereum mainnet are therefore highly variable: the same transfer might cost a few cents one quiet hour and several dollars during a frenzy — the work did not change, only the price, which is why timing matters.

How wallets estimate fees: slow, normal, fast

You rarely set raw gwei by hand. Wallets read current conditions and offer presets — commonly slow, normal, and fast — mapping to different tip levels and confirmation times.

  • A slower option uses a lower tip: cheaper, but may take longer, and during a spike it can sit pending.
  • A normal option targets confirmation within the next few blocks at a reasonable price.
  • A faster option pays a higher tip to get in sooner, worth it when racing a deadline or volatile prices.

These are estimates, not guarantees. If a transaction priced low gets stuck, resubmit it with the same nonce and a higher fee — the "speed up" or "replace" action covered in sending and receiving Ethereum with SSP. In SSP a replacement is a new transaction, so it still needs the 2-of-2 co-sign.

Gas in SSP: paying through a UserOperation

SSP holds your ETH in a 2-of-2 multisig, and on EVM chains that is an ERC-4337 smart-contract account — which changes the shape of a transaction, not the economics of gas. Rather than broadcasting an ordinary transaction, the account expresses its intent as a UserOperation that a bundler submits on-chain. The gas is paid as part of that UserOperation, and the same EIP-1559 base fee and priority fee still apply underneath — you are still paying gas used × gas price in ETH, co-signed by both devices as a single Schnorr-aggregated operation.

Account abstraction also makes gas sponsorship possible: ERC-4337 allows a paymaster to pay gas on a user's behalf, so in principle a fee could be covered by a third party or paid in a token rather than ETH. That is a capability of the standard, not a promise about specific behaviour — the depth belongs in the account abstraction (ERC-4337) explainer. For now, keep some ETH in the account to cover gas.

Cheaper by design: gas on L2 chains

If mainnet fees feel steep, you do not have to transact there for everything. The same SSP key set reaches a range of EVM chains, and L2 networks and sidechains like Polygon and Base are dramatically cheaper — often fractions of a cent — because they do the heavy lifting off mainnet, where block space is far less scarce.

The model is the same — you pay gas in the chain's own native token, and EIP-1559-style pricing generally applies — but the numbers are tiny by comparison. For when and how to use them, see using SSP on Polygon, Base, and other EVM chains.

Bitcoin vs Ethereum fees, briefly

If you came to SSP from Bitcoin, Ethereum's fee model feels related but distinct — both price scarce block space and let you pay more to confirm faster, but the difference is what you pay for. Bitcoin fees are based on a transaction's size in bytes — the room it takes in a block — at a rate in satoshis per byte, with no arbitrary computation and so no gas limit or out-of-gas failure. Ethereum fees price computational work, vary with what your transaction does, and add the EIP-1559 base-fee-plus-tip structure on top. For the Bitcoin side, see Bitcoin fee strategy in SSP.

Practical tips for self-custody users

  • Time your transactions. If a transfer is not urgent, a quieter period can cut the cost substantially.
  • Check the estimate before you co-sign. SSP shows the fee while you review — glance at it on both devices before approving.
  • Keep an ETH buffer for gas. A token-only balance cannot pay its own gas, so always hold a little ETH — and the right native coin on each L2 chain.
  • Use an L2 when it fits. For frequent or small transfers, a cheaper EVM chain saves far more than careful timing on mainnet ever will.
  • Do not panic over a stuck transaction. One that stalls can usually be sped up by replacing it at the same nonce.

Where to go next

Gas stops being intimidating once you see its parts: you pay gas used × gas price, the price is a burned base fee plus a tip you control, and even a failed transaction costs the work it did. From here, put it into practice with sending and receiving Ethereum with SSP, or explore the cheaper side with using SSP on Polygon, Base, and other EVM chains. Whichever chain you are on, the SSP principle holds: two keys, one signature, and fees you control.

Share this article

Related articles