Skip to main content

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:

Notable behavioral changes:

  • [EVM] Added additional events to staking precompile
    • Ref: monad PR #1742
    • Adds ValidatorRewarded, EpochChanged, ClaimRewards events
  • [RPC] Support the withLog parameter with callTracer
    • 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
  • [Consensus] Raptorcast: DOS protection on decoding state cache
  • [Node ops] Secondary raptorcast config change
    • Ref: monad-bft PR #2378
    • Replace ambiguous secondary raptorcast mode parameter with enable_publisher and enable_client
  • [Node ops] Dynamically reload prioritized full-nodes
  • [Node ops] Fix wal2json
  • [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

v0.11.1 [2025-09-16]

Revision: MONAD_FOUR (upgrade; takes effect at 2025-09-16 13:30 GMT)

Tags or hashes:

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)
  • [Network params] Increase block gas limit from 150M gas (375 Mgas/s) to 200M gas (500 Mgas/s) (MONAD_FOUR)
  • [Network params] Implement dynamic base fee (MONAD_FOUR)
  • [EVM] Added support for Execution Events
  • [EVM] Added support for EIP-2935 + blockhash buffer
  • [EVM] Added support for EIP-7951: P256VERIFY precompile support
  • [RPC] Extend eth_call support for preStateTracer and stateDiffTracer with debug_traceCall

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; only bft binary now
  • [Node ops] PeerDiscovery: Introduce precheck for peer self name address

v0.10.4 [2025-08-18]

Revision: MONAD_THREE (unchanged)

Tags or hashes:

Notable behavioral changes:

  • [RPC] EIP-4844 related fields in RPC responses are removed.
    • Block headers returned from RPC will no longer have blobGasUsed , excessBlobGas, and parentBeaconBlockRoot.

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
  • [Consensus] Caching of recently-verified quorum certificates
  • [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.

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
  • [Node ops] ledger-tail improvements
    • Reduced memory usage on startup
    • author_dns field changed to author_address to reflect change in v10 addresses
    • Timeouts and finalizations are tracked and logged
  • [Consensus] Txpool account preloading bugfix

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)
  • [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
  • [Network params] Block time reduced from 500 ms to 400 ms

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