Testnet-2 Changelog
This is a curated list of only changes affecting testnet-2.
note
Changelog entries follow one of the following categories:
- [EVM]: VM protocol behavior (opcodes, precompiles, fees)
- [Consensus]: consensus protocol behavior
- [RPC]: JSON-RPC API and websocket behavior
- [Node ops]: validator operations and networking
- [Network params]: protocol constants
v0.11.3 [2025-10-08]
Revision: MONAD_FOUR
(unchanged)
Tags or hashes:
monad-bft
: tagv0.11.3-tn2-rollback
monad
: hash5e452eb
Notable behavioral changes:
- [EVM] Added additional events to staking precompile
- Ref: monad PR #1742
- Adds
ValidatorRewarded
,EpochChanged
,ClaimRewards
events
- [RPC] Support the
withLog
parameter withcallTracer
- Ref: monad-bft PR #2400
- If
withLog
is set to true,callTracer
includes event logs in the trace output
- [EVM/Network params] Temporarily revert changes described in
Opcode Pricing and Refunds, due to gating
these changes at
MONAD_FIVE
.
Notable performance changes:
- none
Notable internal changes:
- [Consensus] Blocksync: only select blocksync peers from connected nodes
- Ref: monad-bft PR #2401
- [Consensus] Raptorcast: DOS protection on decoding state cache
- Ref: monad-bft PR #2092
- [Node ops] Secondary raptorcast config change
- Ref: monad-bft PR #2378
- Replace ambiguous secondary raptorcast
mode
parameter withenable_publisher
andenable_client
- [Node ops] Dynamically reload prioritized full-nodes
- Ref: monad-bft PR #2364
- [Node ops] Fix wal2json
- Ref: monad-bft PR #2404
- [Node ops/RPC] Support the RPC CLI param
ws-sub-per-conn-limit
- Ref: monad-bft PR #2161
- Sets the maximum number of websocket subscriptions per connection (default to 100)
- [Node ops/RPC] Add configuration options for high eth-call pool
- Ref: monad-bft PR #2387
v0.11.1 [2025-09-16]
Revision: MONAD_FOUR
(upgrade; takes effect at 2025-09-16 13:30 GMT)
Tags or hashes:
monad-bft
: tagv0.11.1
monad
: hash7746980
Notable behavioral changes:
- [Consensus/EVM] Staking is live (
MONAD_FOUR
)- (many PRs; see staking)
- Active validator set is now determined by on-chain state of the staking precompile
- This takes effect starting from a designated
staking_activation
epoch - Note: staking rewards do not activate until
staking_rewards_activation
epoch (future point in time) - External rewards - enable external (non-block-reward) deposits to the validator pool, see monad PR #1625
- [Consensus/EVM] Reserve balance logic is live (
MONAD_FOUR
)- Ref: monad-bft PR #2160 and monad PR #1537
- Due to async execution, consensus does not have the latest state available for transaction inclusion logic. Reserve balance is a buffer that enables simpler accounting for a given account to mitigate the possibility of overspending in that delay window.
- Per-EOA reserve balance is set to
10 MON
- [Consensus/EVM] EIP-7702 is live (
MONAD_FOUR
) - [EVM/Network params] Opcode repricing is live [all of the changes in Opcode Pricing and Refunds except for the
CREATE
/CREATE2
changes] (MONAD_FOUR
)- Ref: monad PR #1600
- Opcodes are repriced as discussed in the Monad Initial Spec Proposal
- Precompiles: better align a few underpriced precompile gas costs with the associated hardware / latency costs
- Increase cost of storage slot creation, and increase the percent of gas refunded on storage slot deletion
- Increase cost of cold storage access
- [Network params] Set per-transaction gas limit of 30M gas (
MONAD_FOUR
)- Ref: monad-bft PR #2246
- As discussed in the Monad Initial Spec Proposal
- [Network params] Increase block gas limit from 150M gas (375 Mgas/s) to 200M gas
(500 Mgas/s) (
MONAD_FOUR
)- Ref: monad-bft PR #2266
- [Network params] Implement dynamic base fee (
MONAD_FOUR
)- Ref: monad-bft PR #2207
- As specified in the Monad Initial Spec Proposal
- Target gas is 80% of a block
- Raise minimum base fee from 50 MON-gwei to 100 MON-gwei
- [EVM] Added support for Execution Events
- [EVM] Added support for EIP-2935 + blockhash
buffer
- Ref: monad PR #1520
- [EVM] Added support for EIP-7951: P256VERIFY
precompile support
- Ref: monad PR #1518
- [RPC] Extend
eth_call
support for preStateTracer and stateDiffTracer withdebug_traceCall
- Ref: monad-bft PR #2275 and monad PR #1471
Notable performance changes:
- [EVM] Kernel caching of db reads and writes
- Ref: monad PR #1559
- Utilize available host memory to cache recent DB operations - this cache should increase performance of execution and RPC
- [RPC] Improve RPC Db Node Cache and make it memory bounded
- Ref: monad PR #1581
- Note a rename of RPC cli flags:
--eth-call-executor-node-lru-size
to--eth-call-executor-node-lru-max-mem
and a new flag--triedb-node-lru-max-mem
with both default to 100MB.
Notable internal changes:
- [Node ops] Remove
bft-fullnode
binary; onlybft
binary now- Ref: monad-bft PR #2072
bft-fullnode
removed fromdeb
pkg forv0.11
- [Node ops] PeerDiscovery: Introduce precheck for peer self name address
v0.10.4 [2025-08-18]
Revision: MONAD_THREE
(unchanged)
Tags or hashes:
monad-bft
: tagv0.10.4
monad
: hash39c42e6
Notable behavioral changes:
- [RPC] EIP-4844 related fields in RPC responses are removed.
- Block headers returned from RPC will no longer have
blobGasUsed
,excessBlobGas
, andparentBeaconBlockRoot
.
- Block headers returned from RPC will no longer have
Notable performance changes:
- [Consensus] Votes are now sent to current round leader. This is a consensus optimization that
reduces the effective delay due to a round timeout
- Ref: monad-bft PR #2093
- [Consensus] Caching of recently-verified quorum certificates
- Ref: monad-bft PR #2167
- [Node ops] Enablement of trace calls is now controlled via
monad
(execution) command line arg--trace_calls
.- To preserve legacy behavior,
--trace_calls
is currently enabled in the debian package. In the future we recommend disabling for validators and enabling it for RPC and archive nodes. - This allows voting validators to opt out of computing traces since they're only need for RPC nodes.
- To preserve legacy behavior,
Notable internal changes:
- [Consensus] TC forwarding to prioritized and public (non-dedicated) full nodes
- Ref: monad-bft PR #2149
- Prior to
v0.10.4
, all full nodes were subject to lagging behind validators in the event of a timeout because round advancement due to TC was not forwarded (and still isn’t to dedicated full nodes). - As a result, after timeouts, full nodes would frequently forward transactions to the next three leaders relative to a stale state. This results in those transactions often missing and the ensuing blocks being comparatively empty.
- [Node ops] Bugfix for secondary raptorcast (round gap crash) that affected validators in
Publisher mode
- Ref: monad-bft PR #2090
- [Node ops]
ledger-tail
improvements- Ref: monad-bft PR #2144
- Reduced memory usage on startup
author_dns
field changed toauthor_address
to reflect change in v10 addresses- Timeouts and finalizations are tracked and logged
- [Consensus] Txpool account preloading bugfix
- Ref: monad-bft PR #2108
v0.10.3 [2025-07-30]
Revision: MONAD_THREE
(upgrade; takes effect immediately - not time-gated)
Notable behavioral changes:
- [Consensus] Consensus mechanism upgraded from Fast-HotStuff
to MonadBFT. This is a major upgrade that adds
(i) resilience to tail forking and
(ii) 1-slot speculative finality (
MONAD_THREE
) - [Network params] Block time reduced from 500 ms to 400 ms (
MONAD_THREE
) - [RPC] Add support for real-time data via
WebSocket and shared memory queue access (docs coming soon):
- Geth real-time events (via WebSocket)
- Geth real-time events with Monad extensions (via WebSocket)
- Real-time data via shared memory queue, for programs on a full node host using the execution event SDK
Notable performance changes:
- [Execution] Switch to JIT EVM. The bytecode of expensive or frequently-executed contracts is compiled directly to native code for faster execution
- [Execution] Switch to using file pointer-based IPC to execute blocks. Previously, the client was using a write-ahead log (WAL), which did not take advantage of available consensus information and could result in avoidable execution
Notable internal changes:
- [Node ops] Adds peer discovery
- [Node ops] Adds full node RaptorCast, making the full node network scalable
Other notes:
- This version adds functionality for EIP-2537 (BLS12-381 precompiles), however the precompile is not yet activated in the VM, so effectively it is not supported yet. This will be addressed in the next version.
testnet-2 genesis [2025-06-17]
Running v0.9.3
Revision: MONAD_TWO