Proposal Type: Protocol Upgrade
Hi, I’m Andrea Federici, Senior Solutions Engineer at OP Labs. I prepared this proposal in collaboration with Adrian Sutton, Matt Solomon and Matthew Cruz from the OP Labs team. Neither OP Labs nor I, nor any other entity mentioned, represent or speak on behalf of the Optimism Foundation.
Executive Summary
Upgrade 20 is an L1 smart contract upgrade for OP Stack chains. It includes no L2 hardfork and no consensus-level activation timestamp, every change is delivered through a signed superchain-ops execution on L1. It is a pre-requisite for interop as it moves fault proofs from Output Root to Super Root Dispute Games, and it bundles OPCM v8 hardening plus SystemConfig cleanup from U19 learnings.
The upgrade consists of one headline change and a set of maintenance items:
- Super Root Dispute Games — fault proofs move from Output Root Dispute Games to Super Root Dispute Games, introducing two new game types:
SUPER_PERMISSIONED(game type 5) for permissioned chains andSUPER_CANNON_KONA(game type 9) for permissionless chains. Permissionless chains flip their respected game type fromCANNON_KONA(8) toSUPER_CANNON_KONA(9). Permissioned games switch the respected game type toSUPER_PERMISSIONED(5). ThePERMISSIONED_CANNON(1) andCANNON_KONA(8) game type implementations are removed. Super Root games commit to state via a super root at an L2 timestamp rather than an output root at an L2 block number — the dispute game format interop requires. This upgrade positions the dispute system for interop but does not enable interop: noOPCM.migrate()is called, each chain keeps its ownAnchorStateRegistryandDisputeGameFactory, and each game still contains a single chain’s output root (viarootClaimByChainId).
TheSUPER_PERMISSIONEDgame is also significantly simplified. As withPERMISSIONED_CANNONit requires a privileged role to create a game, but it no longer implements the full fault dispute game or a challenger role. Instead it immediately resolves asDEFENDER_WINS.SUPER_PERMISSIONEDgames are still subject to the air-gap prior to finalization and the Guardian can blacklist an invalid proposal if needed.
Beyond these, Upgrade 20 also bundles maintenance changes to the upgrade path and L1 contracts:
- OPCM v8.0.0 — upgrade-sequence enforcement (upgrades revert unless the chain’s last upgrade was applied by an OPCM 7.x), removal of the
PermittedProxyDeploymentallowance for DelayedWETH, and thestartingAnchorRootoverride window moving to pre-9.0.0 releases. - Per-proxy resolution — upgrades now resolve each proxy’s own
ProxyAdminandSystemConfiginstead of assuming the calling chain’s, fixing upgrades for non-first member chains of an interop set. - Initializable guard — upgrades revert if a new implementation is an OZ v5-style
Initializablewith its storage slot already in use. ProtocolVersionsremoval — the contract and its OPCM integration are deleted.- Defense in depth —
CrossL2Inbox.validateMessagereverts when executed by a deposit transaction;OptimismPortal2.migrateToSharedDisputeGamenow validates its inputs. - SystemConfig cleanup (v4.0.0) — removes the redundant
batchInbox()getter and its legacy storage slot, and removes the deprecatedsetGasConfig(uint256,uint256)function. Theoverhead()getter is retained for compatibility (deprecated, no longer writable, reads 0), andsetGasConfigEcotonenow encodes zero in the first word of theFEE_SCALARSevent payload.
Because there is no hardfork, the L2 predeploy changes in this contracts release (e.g. FeeVault setWithdrawalRoute) are not deployed to existing chains as part of U20.
Motivation
Output Root Dispute Games commit to one chain’s state at an L2 block number. Native OP Stack interoperability requires a dispute game format that can commit to the state of multiple chains at the same timestamp — Super Root Dispute Games provide that format. Migrating every chain to super-root games now, while each game still covers a single chain, means the next interop-bearing upgrade does not need to re-touch the dispute system at activation time. The move also simplifies the games themselves: the l2SequenceNumber is a timestamp and an incorrect proposal timestamp is validated through the fault proof state transition, removing the separate L2 block number challenge used by output-root games.
The SystemConfig cleanup removes a drift-prone write path surfaced during Upgrade 19: the onchain batchInbox copy was recomputed during that upgrade for pre-OPCM chains. This was harmless — derivation reads the batch inbox from the rollup config, not the chain — but it demonstrated the onchain copy is redundant. Similarly,setGasConfig(uint256,uint256) could leave scalar() out of sync with the fee scalar values OPCM preserves during an upgrade. Removing both write paths maintains a single source of truth.
OPCM maintenance incorporates U19 hardening learnings: enforce upgrade ordering, correctly resolve per-proxy admin contracts for interop sets, and prevent initializer-slot reuse to reduce future upgrade execution risk.
Impacted Stakeholders and Expected Outcomes
- App developers:
- Removed
SystemConfigfunctions: calls toSystemConfig.batchInbox()andSystemConfig.setGasConfig(uint256,uint256)revert after the upgrade. Read the batch inbox address from the chain’s rollup configuration or the Superchain Registry; usesetGasConfigEcotone(uint32,uint32)for fee scalars. FEE_SCALARSevent decoding: treat the first word of aFEE_SCALARSConfigUpdatepayload as zero rather than the value returned byoverhead(). The deprecatedoverhead()getter remains available and reads 0.- Dispute game integrations: direct integrations must recognize game types 5 (
SUPER_PERMISSIONED) and 9 (SUPER_CANNON_KONA) and userootClaimByChainId(uint256)to obtain the chain’s output root — the root claim of a super-root game is a super root, not an output root. - Withdrawal proving: Super Root games anchor withdrawals by L2 timestamp instead of block number. Applications using
viem/op-stackmust upgrade toviem2.51.0+ and pass the initiating withdrawal block timestamp asl2Timestamp(see the notice page for the updated flow). Ordinary L2 contracts and transactions are not affected.
- Removed
- Users: No action required. Withdrawal proofs submitted before Upgrade 20 remain valid, and existing output-root games continue to resolve — the
OptimismPortalsupports proofs from both formats. - Node operators: No hardfork and no
op-node/op-reth/op-batcherconfiguration change. If a node also serves a Super Root RPC to fault proof services, keep that endpoint reachable through the cutover. - Chain operators: Coordinate the L1 cutover with fault proof services: switch
op-proposerto--superroot-rpcswith the new game type (OP_PROPOSER_GAME_TYPE=5permissioned /9permissionless) at execution; add--superroot-rpctoop-challengerandop-dispute-monwhile retaining existing configuration to finish in-flight games; permissionless chains must stage the reviewedkona-clientInterop-variant prestate before cutover; update any tooling that calls the removedSystemConfigfunctions. Full operator details are on the notice page.
Specifications
Blockspace Charter
This Protocol Upgrade is scoped to the Standard Rollup Charter. The changes in this PR will be made to the charter as a part of this upgrade, and the standard proof parameters are being updated to the Super Root game types in the superchain-registry. The respected game type moves to SUPER_CANNON_KONA and the new kona interop prestate can be found in the Superchain Registry here.
Technical Details
Super Root Dispute Games
SuperFaultDisputeGame/SuperPermissionedDisputeGamereuse the auditedFaultDisputeGamebond, clock, bisection, and resolution logic; the key differences are the removal ofchallengeL2BlockNumber, an “invalid” marker claim that must not be used as a root claim, and game arguments carrying a super root preimage that must match the root claim hash (diff gist)- Key PRs: #21689 (enable super-root games migration by default), #20641 (simplified
SuperPermissionedDisputeGame), #21513 (game-type rename), #20363 (super cannon game type removed)
SystemConfig cleanup
OPCM v8.0.0 and upgrade path
- #22096 (OPCM 8.0.0: upgrade-sequence enforcement, DelayedWETH allowance removal,
startingAnchorRootwindow), #22034 (per-proxyProxyAdmin/SystemConfigresolution), #21070 (initializer-slot reuse guard), #20527 (ProtocolVersionsremoval)
Contract Changes
The contract changes can be found at this contract release tag: op-contracts/v8.0.0-rc.3, which will be finalized as op-contracts/v8.0.0 after this upgrade is approved by governance. Notable version changes: OPContractsManagerV2 7.1.17 → 8.0.1, SystemConfig 3.14.2 → 4.0.0, OptimismPortal2 5.6.1 → 5.8.0, SuperFaultDisputeGame 0.7.2 → 0.8.0, SuperPermissionedDisputeGame 0.7.0 → 1.1.0, ProtocolVersions removed.
The canonical OPCM address on Ethereum Mainnet is 0x1951828ce913dc4383a8a1695695d537a11d896a (superchain-registry standard versions). Chains must be deployed or upgraded via this address to satisfy the Standard Rollup Charter version criteria. A full diff from the previous upgrade can be seen here.
Absolute Prestate
Permissionless chains adopt the kona-client Interop variant absolute prestate for SUPER_CANNON_KONA (the cannon64-kona-interop artifact is required even though interop is not enabled):
- kona-client
[v1.7.0]: The absolute prestate hash (cannon64-kona-interop variant) is0x031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df. You can find it in the superchain-registry validation here.
Calldata
The expected calldata to sign will cover a bundled task for OP Mainnet, Ink, Soneium, and Unichain Mainnet.
0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000009e000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000001951828ce913dc4383a8a1695695d537a11d896a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008486fe1c66000000000000000000000000000000000000000000000000000000000000002000000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001951828ce913dc4383a8a1695695d537a11d896a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007848a847e2e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000229047fed2591dbec1ef1118d64f7af3db9eb29000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000473300df21d047806a082244b417f96b32f13a330000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000206f76657272696465732e6366672e7374617274696e67416e63686f72526f6f740000000000000000000000000000000000000000000000000000000000000040bd4aeba96e33ef5582e14257fb776b3223ad45934ccd368c2f3084c8b75c1d68000000000000000000000000000000000000000000000000000000006a9f9367000000000000000000000000000000000000000000000000000000000000000000000000000000001951828ce913dc4383a8a1695695d537a11d896a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007848a847e2e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000062c0a111929fa32cec2f76adba54c16afb6e836400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000003832bfbef03173e4c49a00ec0dd178817a02d1770000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000206f76657272696465732e6366672e7374617274696e67416e63686f72526f6f74000000000000000000000000000000000000000000000000000000000000004025b22a0c711fa1d01b3cdb95fb98c0e7ff003b00909bfe8fade3507a6e62d44e000000000000000000000000000000000000000000000000000000006a9fa89a000000000000000000000000000000000000000000000000000000000000000000000000000000001951828ce913dc4383a8a1695695d537a11d896a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007648a847e2e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000007a8ed66b319911a0f3e7288bddab30d9c0c875c300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000400c164c4a8ca84385b70eed6eb03ea847c8e1b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000206f76657272696465732e6366672e7374617274696e67416e63686f72526f6f74000000000000000000000000000000000000000000000000000000000000004008a53686fd0b1671ff7b89c3a994582503f15f7be00f0f2e7c9f0d3b187ab124000000000000000000000000000000000000000000000000000000006a9fa929000000000000000000000000000000000000000000000000000000000000000000000000000000001951828ce913dc4383a8a1695695d537a11d896a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007848a847e2e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c407398d063f942febbcc6f80a156b47f3f1bda600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000d5f0e2912c70771c589cd8bb087ede0dab4afa9a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000000000000000000900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020031ac6f15c19010da258f5cb633ef6ca9318c2d0f244bea6b2045ce6b790e1df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000206f76657272696465732e6366672e7374617274696e67416e63686f72526f6f740000000000000000000000000000000000000000000000000000000000000040af64a866304eb17696278d26290bb172aa941eac3370d9bc8bd313d492beb7d3000000000000000000000000000000000000000000000000000000006a9faa0b00000000000000000000000000000000000000000000000000000000
Impact Summary
- Performance: No anticipated downtime. This is a contracts-only upgrade with no L2 activation timestamp.
- Withdrawal proofs: New proposals switch to Super Root Dispute Games at execution. Existing games and previously submitted withdrawal proofs remain valid; the
OptimismPortalsupports both formats. - Upgrade documentation: Upgrade 20 notice page covers the operator- and developer-facing details, including component configuration and the
viemwithdrawal flow changes. - Other: None beyond the per-stakeholder items above.
Precommitment Impact Review
This Upgrade Proposal does not impact any of the precommitments in the Standard Rollup Charter.
- Collective Fee Take: no modification or onchain implementation introduced.
- Governor/Servicer Role Separation: no change to role structures or authorization patterns.
- Ossified GasLimits: no change
- Direct Fee Margin Controls:
setGasConfig(uint256,uint256)is removed, but fee scalar control is unchanged viasetGasConfigEcotone(uint32,uint32); no change to the relevant authorization.
Security Considerations
We have done threat modelling for the new features in this release. The Upgrade 20 audit is a combined audit of the full contracts diff since the last release (op-contracts/v7.0.0), performed by Spearbit/Cantina on op-contracts/v8.0.0-rc.2, with a fix review covering the changes landed in op-contracts/v8.0.0-rc.3 (tagged 2026-08-14). The audit workflow closed 2026-08-21 with the final report published HERE. The Super Root Dispute Games SRD is approved; the super-root game contracts reuse the previously audited FaultDisputeGame core logic.
Action Plan
- Audit: completed on 2026-08-21, published in the optimism monorepo HERE
- Alphanet/Betanet: not applicable, no hardfork. Devnet staging rehearsal were tracked in
superchain-ops - Sepolia target execution: Thursday, Sep 17, 2026. Chains:
OP Sepolia,Ink Sepolia,Soneium Minato, andUnichain Sepoliaas an L1 contracts upgrade. No activation timestamp. - Mainnet target execution: Thursday, Sep 24, 2026, pending Optimism Governance approval and a 7-day Sepolia soak. Chains:
OP,Ink,Soneium, andUnichain.
Communication and education plan: The Upgrade 20 notice page is published with the necessary information for application developers, chain operators, and node operators to be ready.
Conclusion
Upgrade 20 advances the following goals. Super Root Dispute Games move the fault proof system onto the dispute game format interop requires, without enabling interop or disrupting in-flight games and withdrawals. The SystemConfig cleanup removes redundant, drift-prone write paths surfaced during Upgrade 19. The OPCM v8.0.0 maintenance changes harden the upgrade path itself with sequence enforcement and stricter validation. Because there is no L2 hardfork, activation risk is limited to the L1 contract execution windows.