Upgrade 21 - Interop Readiness

Proposal Type: Protocol Upgrade

Hi, I’m Andrea Federici, Senior Solutions Engineer at OP Labs. I prepared this proposal in collaboration with 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 21 is an L1 smart contract upgrade for OP Stack chains, shipped in op-contracts/v9.0.0. It has no hardfork and no activation timestamp: every change is applied through a signed superchain-ops execution on L1. It contains the following changes:

  • ETHLockbox as custody and pause identifier — every chain gets an ETHLockbox that cannot be disabled, and it becomes the only identifier for a chain-specific pause. Chains whose ETH is still in the OptimismPortal have it moved into the lockbox in the upgrade transaction. Chains that already use a lockbox are unchanged. Custom gas token chains get a lockbox but keep custody in the portal.
  • Permissionless deleteProvenWithdrawal — anyone can delete a withdrawal proof whose dispute game resolved in favor of the challenger or was blacklisted. Proofs on valid games are unaffected.
  • OPCM v9.0.0 and StandardValidator — removes the startingAnchorRoot upgrade override, lowers batched-upgrade gas, and adds validator checks for the new lockbox and pause configuration.
  • L1 bridge hardening — OptimismPortal2 reverts a messenger withdrawal whose relay into the L1CrossDomainMessenger fails, so the withdrawal stays retryable, and the messenger reserves more gas to record a relay’s outcome, with the relay gas constants split into local and remote values.

Motivation

Upgrade 21 is the set of L1 contract changes OP Stack chains need in place before interop ships: one custody model and one pause identifier through the ETHLockbox on every chain, permissionless cleanup of withdrawal proofs on resolved-against games, and hardening of the withdrawal path so a messenger withdrawal is never finalized without a recorded outcome.

ETHLockbox. Since Upgrade 16a, new chains are deployed without a lockbox and upgrades never change a chain’s lockbox status, so standard chains are split between two custody models. Each has its own pause identifier, the lockbox or the portal, so Guardian tooling, monitoring and integrations have to handle both cases, and upgrades run different code paths depending on the chain. Giving every chain a lockbox leaves one custody model and one pause identifier. It is also the starting point for interop: the interop migration requires the lockbox on every chain in the set.

OPCM. Lower gas for batched upgrades keeps multi-chain upgrade transactions under the EIP-7825 per-transaction gas cap.

L1 bridge hardening. The L1CrossDomainMessenger holds back gas from each message’s target call so it can record whether the message succeeded or failed; that record is what lets a failed message be replayed. U21 makes the portal revert if the messenger cannot record the outcome, so the withdrawal stays retryable, and raises the reserve so ordinary withdrawals either succeed or are recorded as failed and can be replayed. Splitting the constants into local and remote values also lets the L1 and L2 sides be tuned separately the next time either gas schedule changes.

Impacted Stakeholders and Expected Outcomes

  • App developers and integrators: Ordinary L2 contracts and transactions are not affected. Update an integration if it:
    • Finalizes or relays withdrawals: finalizeWithdrawalTransaction now reverts with OptimismPortal_L1CDMCallFailed when the call into the L1 messenger fails. Treat it as retryable with more gas. A messenger withdrawal that can never be relayed now stays proven but unfinalized, rather than being finalized as failed.
    • Reads the messenger’s relay gas constants: they are split into LOCAL_* and REMOTE_*. The RELAY_* getters remain as aliases of REMOTE_*, now on IL1CrossDomainMessenger.
    • Reads the portal’s ETH balance, or filters Paused / Unpaused by the portal address: use the ETHLockbox instead, from OptimismPortal.ethLockbox(). OptimismPortal.paused() is unchanged.
    • Tracks withdrawal proofs: handle the new WithdrawalProofDeleted event.
  • Users: No action required. Existing proofs on valid games and in-flight withdrawals remain valid.
  • Node operators: No action required. There is no L2 hardfork.
  • Chain operators: Point Guardian pause tooling and monitoring at the chain’s ETHLockbox. Update op-challenger to v1.11.0; on permissionless chains in the superchain registry the upgrade sets the kona-client/v1.9.0 absolute prestate on-chain, and op-challenger must be able to fetch it. On a chain that doesn’t have a lockbox yet, the upgrade reverts while the chain is paused under its OptimismPortal identifier, so an active pause isn’t silently dropped when the identifier moves to the lockbox. The outcome of this governance proposal will determine how Optimism Governed chains are upgraded. OP Enterprise customers who are not Optimism governed, can work with their Optimism point of contact directly for support. All other chains using the standard L1 bridge contracts must already be on Upgrade 20 (op-contracts/v8.0.0) and upgrade with the OPCM instance. Details are on the Upgrade 21 notice page.

Specifications

Blockspace Charter

This Protocol Upgrade is scoped to the Standard Rollup Charter. The Charter’s Version Validation section moves to the Upgrade 21 OPCM and release in OPerating-manual #73, to be merged after the vote as with Upgrade 20. The superchain-registry standard versions move to op-contracts/v9.0.0 and its OPCM (op-contracts/v9.0.0 entry).

Technical Details

  • L1 bridge hardening: OptimismPortal2.finalizeWithdrawalTransaction reverts with OptimismPortal_L1CDMCallFailed when the sender is the L2CrossDomainMessenger and the call into the L1 messenger fails. L1CrossDomainMessenger.relayMessage copies the payload into memory before its gas check, so the copy no longer uses up the reserved gas. The relay gas constants are split into LOCAL_* (this chain’s relay) and REMOTE_* (baseGas charged for the other chain), and LOCAL_RELAY_RESERVED_GAS rises from 40,000 to 135,000 (GasConstants.L1_RELAY_RESERVED_GAS in the op-contracts/v9.0.0 source, with a 15,000 gas-check buffer).
  • ETHLockbox: #22805 enables a lockbox on every chain and moves the portal’s ETH into it on first activation. #22760 makes the lockbox the only chain-scoped pause identifier for the OptimismPortal, SystemConfig, AnchorStateRegistry and DelayedWETH; initializer argument types change, function selectors don’t. Spec: specs#951.
  • deleteProvenWithdrawal(bytes32,address): #22669. Spec: specs#936.
  • OPCM v9.0.0 and StandardValidator: #22939, #22959, #22919, #22471, #23134.

Contract Changes

Release tag: op-contracts/v9.0.0, the same commit as op-contracts/v9.0.0-rc.1 (ba6fcad), so the contracts deployed from rc.1 are the final release. Notable version changes (read from the op-contracts/v9.0.0 source and the deployed implementations): OPContractsManagerV2 8.0.1 → 9.0.3, OptimismPortal2 5.8.0 → 6.1.0, ETHLockbox 1.3.1 → 2.0.0, AnchorStateRegistry 3.9.0 → 4.0.0, DelayedWETH 1.5.1 → 2.0.0, OPContractsManagerStandardValidator 3.3.0 → 4.1.1, SystemConfig 4.0.0 → 4.3.0, SuperchainConfig 2.4.3 → 2.5.0, L1CrossDomainMessenger 2.11.1 → 2.13.0.

The canonical OPCM address on Ethereum Mainnet is 0x2d91e6f2bcf6cd1df90e1faf9714e18705ea331f (Sepolia: 0x160f0fe4dc1b3f4026687e8dd4b7f800879939cc), version 9.0.3, deployed on October 30, 2026 from the commit later tagged op-contracts/v9.0.0 (first tagged v9.0.0-rc.1); the final release did not redeploy it. Chains must be upgraded via this address to meet the Standard Rollup Charter version criteria. Full diff: op-contracts/v8.0.0…op-contracts/v9.0.0.

Absolute Prestate

There is no hardfork and no chain configuration change. The upgrade re-registers the SUPER_CANNON_KONA game on each permissionless chain with the kona-client/v1.9.0 cannon64-kona-interop prestate 0x03e5a54835d39c1d83b198314473e1f111c3539c04f65c3e8a9b8ccebe3737c9 (superchain-registry standard-prestates.toml), the version listed on the notice page.

Calldata

Ethereum Mainnet, one Multicall3DelegateCall.aggregate3 from the L1 ProxyAdminOwner: OPCM.upgradeSuperchain on the shared SuperchainConfig, then OPCM.upgrade for OP Mainnet, Ink, Soneium and Unichain, all against the OPCM 0x2d91e6f2bcf6cd1df90e1faf9714e18705ea331f (superchain-ops task eth/084).

0x82ad56cb0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000009c000000000000000000000000000000000000000000000000000000000000011c000000000000000000000000000000000000000000000000000000000000019a00000000000000000000000002d91e6f2bcf6cd1df90e1faf9714e18705ea331f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000008486fe1c66000000000000000000000000000000000000000000000000000000000000002000000000000000000000000095703e0982140d16f8eba6d158fccede42f04a4c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d91e6f2bcf6cd1df90e1faf9714e18705ea331f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007648a847e2e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000229047fed2591dbec1ef1118d64f7af3db9eb29000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c27ba3e0fc01567a5e57ae0c391aa98cecba5be00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002003e5a54835d39c1d83b198314473e1f111c3539c04f65c3e8a9b8ccebe3737c900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000185065726d697474656450726f78794465706c6f796d656e740000000000000000000000000000000000000000000000000000000000000000000000000000000a4554484c6f636b626f7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d91e6f2bcf6cd1df90e1faf9714e18705ea331f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007648a847e2e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000062c0a111929fa32cec2f76adba54c16afb6e836400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000200000000000000000000000003832bfbef03173e4c49a00ec0dd178817a02d1770000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002003e5a54835d39c1d83b198314473e1f111c3539c04f65c3e8a9b8ccebe3737c900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000185065726d697474656450726f78794465706c6f796d656e740000000000000000000000000000000000000000000000000000000000000000000000000000000a4554484c6f636b626f7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d91e6f2bcf6cd1df90e1faf9714e18705ea331f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007448a847e2e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000007a8ed66b319911a0f3e7288bddab30d9c0c875c300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000400c164c4a8ca84385b70eed6eb03ea847c8e1b80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000185065726d697474656450726f78794465706c6f796d656e740000000000000000000000000000000000000000000000000000000000000000000000000000000a4554484c6f636b626f7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d91e6f2bcf6cd1df90e1faf9714e18705ea331f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007648a847e2e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000c407398d063f942febbcc6f80a156b47f3f1bda600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000086b392ca30ad7453c8d88b56eb5a04fd0e2175b70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002003e5a54835d39c1d83b198314473e1f111c3539c04f65c3e8a9b8ccebe3737c900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000276f76657272696465732e6366672e7374617274696e6752657370656374656447616d655479706500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000185065726d697474656450726f78794465706c6f796d656e740000000000000000000000000000000000000000000000000000000000000000000000000000000a4554484c6f636b626f780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Impact Summary

  • Performance: No anticipated downtime. Contracts-only upgrade.
  • Custody and pause: The chains in this proposal already use an ETHLockbox, so no ETH moves and their pause identifier is unchanged.
  • Withdrawals: Existing proofs and in-flight withdrawals remain valid. An under-gassed messenger withdrawal now reverts and can be retried.
  • Documentation: The Upgrade 21 notice page covers operator and developer details.

Precommitment Impact Review

This Upgrade Proposal does not impact any of the precommitments in the Standard Rollup Charter.

  • Collective Fee Take: no change.
  • Governor/Servicer Role Separation: no change. The Guardian keeps its pause authority; only the address a chain-specific pause is keyed on changes.
  • Ossified GasLimits: no change. The messenger gas constants are internal to the L1 bridge.
  • Direct Fee Margin Controls: no change.

Security Considerations

We have done threat modelling for the new features in this release. Spearbit/Cantina audited the full contracts diff since op-contracts/v8.0.0, from October 14 to October 28, 2026; the fix review is in progress and the report will be published in the optimism monorepo security reviews before mainnet execution. Areas of focus included:

  • The portal revert does not leave valid withdrawals unfinalizable, and the messenger’s reserved gas covers recording a relay outcome.
  • ETH custody is preserved exactly when the portal’s balance moves into the lockbox.
  • Guardian pause authority and the air-gap are preserved when the pause identifier moves.
  • Re-initialization uses the correct values, and batched upgrades fit under the EIP-7825 gas cap.

Action Plan

  • Audit: completed October 28, 2026; report to be published in the optimism monorepo security reviews before mainnet execution.
  • Governance proposal published: Wednesday, Nov 4, 2026
  • Sepolia execution: Monday, Nov 9, 2026. Chains: OP Sepolia, Ink Sepolia, Soneium Minato, Unichain Sepolia.
  • Governance veto period ends: Wednesday, Nov 11, 2026
  • Mainnet execution: Monday, Nov 16, 2026, pending governance approval and a 7-day Sepolia bake period. Chains: OP Mainnet, Ink, Soneium, Unichain.

If the bake period or the audit fix review surfaces an issue, mainnet execution moves. OP Enterprise customers, bridges and integrators were notified in advance; the notice page covers everyone else.

Conclusion

Upgrade 21 gives every chain one custody model and one pause identifier through the ETHLockbox and hardens the L1 withdrawal path, ahead of interop. With no L2 hardfork, risk is limited to the L1 execution windows. We ask the Collective to approve Upgrade 21.