Why gas prices change

Block space is limited, so the price of it moves with demand.

Updated

Short answer

Each block holds a limited amount of gas and has a target set at half that limit. After every block the protocol compares the gas actually used against the target and moves the base fee up or down for the next block, by at most 12.5%, so the price tracks demand for block space.

A new Ethereum block arrives roughly every twelve seconds, and each one holds a limited amount of gas. That cap is the entire story. When more people want to transact than there is room for, the price of getting in rises. When the network is quiet, it falls back down.

The target, and the feedback loop around it

Each block has a gas limit and a gas target set at half of it, so a typical block can run twice as much work as the protocol wants it to on average. After every block, the protocol compares the gas actually used against the target and adjusts the base fee for the next block.

  • Block came in above target: the base fee goes up, by at most 12.5%.
  • Block came in below target: the base fee goes down, by at most 12.5%.
  • Block hit the target exactly: the base fee stays where it is.

The size of the move scales with how far the block missed the target, so a slightly busy block nudges the fee and a completely full one moves it the full 12.5%. Validators can also vote the gas limit itself up or down over time, but that drifts slowly and is not what you feel day to day.

How fast it can move

Compounding 12.5% per block adds up quickly. Six full blocks in a row roughly double the base fee, which takes a little over a minute. Six empty blocks roughly halve it. So a spike can arrive faster than you can finish reading a confirmation screen, and it decays just as fast once whatever caused it is over.

This is also why a fee estimate goes stale. A quote you looked at two minutes ago was computed against a base fee that no longer exists.

What pushes demand around

Most sustained expensive periods trace back to something specific rather than to general busyness. An NFT collection minting on a first come basis, a token launch, an airdrop claim opening. Sharp price moves are another: they trigger liquidations, and liquidators compete to be first, which is exactly the kind of competition that fills blocks.

Time of day matters too, since activity follows waking hours in the United States and Europe, though the effect is mild next to an event-driven spike. Timing a transaction goes into what that is worth in practice.

Rollup data does not compete for the same space

Rollups post their compressed transaction data to Ethereum in blobs, which have their own gas target and their own base fee, adjusted by the same kind of feedback loop. Heavy rollup activity raises the blob fee without directly raising the fee for ordinary transactions.