Gas Mechanics
Cronos uses an EIP-1559–style fee market (via Ethermint's x/feemarket module). Every block has a network-wide base fee (price per unit of gas). That value is recomputed at the start of each block from how full the previous block was, so fees rise under congestion and fall when the chain is quiet.
What the algorithm compares
Define the parent block's gas target:
On Cronos, the documented default elasticity is 4, so the target is 25% of the block gas limit. (Ethereum's classic EIP-1559 default is 2 → 50% target.)
The parent utilization input is block gas wanted, after this EndBlock clamp:
Default MinGasMultiplier is 0.5.
Exact base-fee formula
Let parentBaseFee be the previous block's base fee, and let D be BaseFeeChangeDenominator.
Cronos' documented default for D is 300 (Ethereum's is 8), so base fee moves much more slowly block-to-block.
Unchanged
If parentGasWanted == gasTarget:
Congestion (increase)
If parentGasWanted > gasTarget:
The max(..., 1) means any block above target bumps the base fee by at least 1 unit.
Slack capacity (decrease)
If parentGasWanted < gasTarget:
MinGasPrice is the hard floor. On Cronos this has historically been set equal to the initial base fee (e.g. 3750 gwei, later governance proposals to lower it), so when the network is idle the base fee sits on that floor instead of drifting toward zero.
What users actually pay
For an EIP-1559-style tx:
Your feeCap / maxFeePerGas must be ≥ the current base fee or the tx won't be valid for inclusion. Tips affect priority when the mempool is contested; they do not change the protocol base-fee update itself.
Cronos vs Ethereum
Base fee update
Same family of formula
Same formula in Cronos
Change speed (D)
8
300 (much slower)
Gas target
~50% of limit (elasticity=2)
~25% of limit (elasticity=4)
Floor
effectively 0 historically
MinGasPrice (governance-set)
Base fee destination
burned
Cosmos fee distribution
Utilization input
block gas used
capped gas wanted
Last updated
Was this helpful?