Monero adjusts its permitted block weight using recent and longer-term chain history. Blocks above the effective reward median incur a subsidy penalty, and blocks above the permitted limit are invalid.
The median and the penalty
Monero does not use a permanent maximum block size for all demand levels. Its effective weight median and block limit change according to consensus rules that reference previously accepted blocks.
The short-term reward window contains 100 blocks, but the current implementation also constrains growth using a long-term calculation. Describing the modern limit as only twice the median of the last 100 raw block sizes misses those controls.
References: Monero source: cryptonote_core/blockchain.cpp · Monero source: cryptonote_config.h
Fees do not remove the consensus limit
A block above the effective reward median can be valid while receiving less subsidy. Beyond the allowed limit, extra fees cannot rescue the block. Other nodes reject it.
An operator inspecting block_weight_median and block_weight_limit should use a synchronized daemon and check the field definitions. These fields describe the chain state. Changing a local setting does not promise a particular transaction throughput.
References: Monero source: cryptonote_core/blockchain.cpp · Daemon RPC reference
Example
A miner considering extra transactions compares their fees with the subsidy penalty caused by a heavier block. Including more transactions is not automatically more profitable.
References: Monero source: cryptonote_core/blockchain.cpp · Monero source: cryptonote_config.h
Limits and cautions
Dynamic does not mean unlimited. Current rules combine short-term and long-term weight calculations and a minimum effective median. Serialized byte size and consensus weight are related but not interchangeable for every transaction.
References: Monero source: cryptonote_core/blockchain.cpp · Monero source: cryptonote_config.h
Related glossary terms
Practical guides
Technical baseline: v0.18.5.4. Reviewed 2026-11-09 UTC.