[Runtime] RT3700/RT3701 Schedule

Updated deployment schedule for the RT3701 - scope description in the thread:

Runtime 3701 will be deployed to All network(s) following the schedule below:
Alphanet: 2025-05-22T22:00:00Z
Moonriver: 2025-06-14T22:00:00Z
Moonbeam: 2025-06-21T22:00:00Z


We are planning to release Runtime 3700 in All network(s) following the schedule below:
Alphanet: 2025-05-20T22:00:00Z
Moonriver: 2025-06-07T22:00:00Z
Moonbeam: 2025-06-21T22:00:00Z

This runtime upgrade includes several breaking changes.
See the release note for more details: Releases · moonbeam-foundation/moonbeam · GitHub

3 Likes

Question:
Since these changes contain breaking changes, can we safely upgrade our moonriver/moonbeam nodes now? If not, what’s the recommended procedure?

Thank you!

Summary of Changes

Moonbeam Runtime 3700 — What it means for you

  • Bigger blocks, cheaper proof gas on Moonbeam(All users & node operators)
    The Proof-of-Validity (PoV) limit on Moonbeam has been raised from 5 MB to 10 MB. Heavy-data transactions that used to hit the ceiling will now go through, and the cost per byte of PoV data drops, reducing fees for complex EVM calls and XC-20 transfers. GitHub
  • Identity pallet overhaul (DApp builders & end-users)
    Usernames are now first-class citizens: new UsernameOf storage, renamed fields, and an “unbinding” queue pave the way for future features like transferable usernames and smoother account recovery flows. Existing identities stay intact, but any custom tooling should migrate to the new storage names. GitHub
  • Gas bump on every precompile call (Smart-contract developers)
    Each precompile invocation now costs ~1 670 extra gas, and precompiles guarded by CallableByContract are no longer callable from constructors. If your deployment script fails, remove constructor-time precompile calls. The StorageCleanerPrecompile has been removed entirely. GitHub
  • Ethereum-XCM weight change (Bridge & XC-builder teams)
    Worst-case proof_size for pallet-ethereum-xcm extrinsics has doubled. Update any off-chain weight or fee estimation code to avoid “weight too high” rejections. GitHub
  • Treasury can now spend foreign assets (Governance watchers & token communities)
    Proposals will be able to distribute bridged assets (e.g., xcUSDC) directly from the Treasury, broadening grant and incentive possibilities. GitHub
  • Stricter EVM proxy filter on Moonbase (Moonbase Alpha operators)
    The EvmProxyCallFilter::Any loophole is closed, bringing Moonbase in line with Moonbeam and Moonriver. If you relied on broad proxy calls in test deployments, check your permissions. GitHub
  • Runtime & dependency updates (Infra teams)
    • Spec version: 3700 on Moonbeam, Moonriver, Moonbase
    • Built with rustc 1.81.0 and Polkadot-SDK stable 2412
    • Fresh weight benchmarks for all pallets
    Nodes will receive the code automatically once the on-chain referendum executes—no manual action required. GitHub

When will you feel the change?
The upgrade activates after it passes on-chain governance and the usual 1-hour enactment window. From that block onward, the new limits, fees, and pallet behavior apply automatically.

3 Likes

Hello Nahel!

Thanks for the question, you need to prepare by upgrading your client to 0.45 according to this schedule:

Upgrade Period in Moonbase Alpha
May 21, 2025
Upgrade Period in Moonriver
Now - June 09, 2025
Upgrade Period in Moonbeam
Now - June 23, 2025

2 Likes

Thank you! Is there a way to verify that a third party RPC is ready for the upgrade?

I’ve queried the web3_clientVersion method but I’m not sure how to correlate that version with v0.45.0 (or maybe I’m understanding something wrong here?)

{“jsonrpc”:“2.0”,“id”:1,“result”:“moonbeam/v3600.0/fc-rpc-2.0.0-dev”}

I appreciate the help!

A critical issue has been identified that impacts RT3700 so the Moonriver proposal 76 is being canceled by proposal 78.

A new proposal to authorize an upgrade to RT3701 on Moonriver will be created in a day or two.

3 Likes

Updated deployment schedule:

Runtime 3701 will be deployed to All network(s) following the schedule below:
Alphanet: 2025-05-22T22:00:00Z
Moonriver: 2025-06-14T22:00:00Z
Moonbeam: 2025-06-21T22:00:00Z

2 Likes
3701 Change Why it matters
Fallback to MaintenanceMode on failed multi-block migrations If a future migration introduced in 3700 fails, the chain now flips automatically into maintenance mode instead of stalling, giving governance time to react safely. github.com 1 github.com 2
Bump sp-api-proc-macro & frame-executive (Polkadot-SDK patch) Pulls in an upstream fix for a rare call-depth mismatch that could surface as “invalid transaction” errors. No functional change at the EVM layer. github.com 1 github.com 2
Spec version 3701 for Moonbase/Moonriver/Moonbeam Runtime hash changes (sizes & checksums updated) but no new storage migrations beyond the handler swap. Built with the same Rust 1.81 toolchain. github.com

2 Likes