Search for projects by name or address
There are impactful changes and part of the information might be outdated.
Celo is an Ethereum Optimium based on the OP stack, scaling real-world solutions & leading a thriving new digital economy for all.
Celo is an Ethereum Optimium based on the OP stack, scaling real-world solutions & leading a thriving new digital economy for all.
The section shows the operating costs that L2s pay to Ethereum.
This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data to
Ethereum
EigenDA.
This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule.
Jello hardfork activates OP Succinct Lite
2025 Dec 10th
Celo implements OP Succinct Lite, introducing ZK proofs for dispute resolution and DA verification.
Celo becomes an Ethereum L2
2025 Mar 26th
Celo migrates from an L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. to an L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. architecture on Ethereum and EigenDA.
In the event of a sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. failure, users can force transactions to be included in the project’s chain by sending them to L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. There can be up to a 12h delay on this operation.
Fraud proofs allow actors watching the chain to prove that the state is incorrect. Single round proofs (1R) only require a single transaction to resolve. ZK proofs are used to prove the correctness of the state transition. The system currently operates with at least 5 whitelisted challengers external to the team.
Proof construction and state derivation fully rely on data that is posted on EigenDA. The sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. is publishing data to EigenDA v2. Sequencer transaction data roots are checked against the DACert VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. data roots, signed off by EigenDA operators.
There is no exit windowThe amount of time that users have to exit a system before an unwanted upgrade. It takes into account upgrade delays, forced transaction delays and other time factors. To be considered Stage 1, a rollup needs to have an exit window of at least 7d if upgrades are initiated by a permissioned actor less decentralized than a Security Council. For Stage 2, a rollup needs at least 30d in all cases outside of onchain provable bugs. for users to exit in case of unwanted upgrades as they are initiated by the Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and L2BEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups. with instant upgrade power and without proper notice.
Only the whitelisted proposers can publish state rootsA cryptographic hash succinctly representing a state using a Merkle tree. on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development., so in the event of failure the withdrawals are frozen.
Transactions roots are posted onchain and the full data is posted on EigenDA. The sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. is publishing data to EigenDA v2. The DACert VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. is used to verify attestations from the EigenDA operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. set that the data is indeed available. If EigenDA becomes unavailable, the sequencer falls back to Ethereum.
Funds can be lost if the sequencer posts an unavailable transaction root (CRITICAL).
Funds can be lost if the data is not available on the external provider (CRITICAL).
State rootsA cryptographic hash succinctly representing a state using a Merkle tree. are proposed by whitelisted proposers who create dispute games via the DisputeGameFactory by posting a bond of 0.01 ETH. Once created, the game enters a challenge periodIn optimistic rollups, the window of time wherein network participants can assert that some fraud was included in a prior block. Most optimistic rollups currently specify a challenge window of 7 days. By extending the period, there is more time for participants to guard against fraud (invalid state transitions), but also more time until withdrawals gets enabled. of 3d 12h during which whitelisted challengers can dispute the proposal by posting a bond of 0.01 ETH. If challenged, anyone can submit a ZK proof to prove the correct state within the proving period of 1d. After the challenge period passes without a successful challenge, or after a valid proof is submitted, anyone can resolve the game and finalize the state root.
Funds can be stolen if the validity proof cryptography is broken or implemented incorrectly.
Funds can be stolen if no whitelisted challenger disputes an invalid state root before the challenge window expires (CRITICAL).
Funds can be stolen if the proposer routes proof verification through a malicious or faulty verifier.
Funds can be frozen if the permissioned proposer fails to publish state roots to the L1.
Onchain verifier
Onchain verifier |
Celo’s L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. contracts are upgradable by a ProxyAdmin owned by the 2/2 CeloProxyAdminOwner, a nested Safe whose two signers are the 6/8 Celo Security Council and the 6/8 Celo cLabs Multisig. Both halves must approve, and there is no delay on upgrades. The shared SuperchainConfig is the exception: it remains under the 2/2 SuperchainProxyAdminOwner controlled by the Optimism Foundation and the Optimism Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and L2BEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups., outside Celo’s control.
Pause powers sit apart from the upgrade path. The CeloSuperchainConfig guardian, which can pause Celo withdrawals, is the Celo cLabs Multisig acting alone; the shared SuperchainConfig guardian, which can pause the whole Superchain including Celo, resolves to the Optimism Security Council. The Celo Security Council holds no pause power at all. Celo cLabs Multisig also owns SystemConfig and the OP Succinct AccessManager on its own, so it sets the sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs., gasA virtual fuel used to execute smart contracts on a rollup. The EVM (or other VM within the rollup) uses an accounting mechanism to correspond the consumption of gas to the consumption of computing resources, and to limit the consumption of computing resources. configuration and the proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. and challenger allowlists without Council approval.
| Composition | 6/8 community Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and L2BEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups., nested as one of two signers in the 2/2 |
|---|---|
| Members public | Named, not mapped — the docs name 8 members (L2Beat, Hyperlane, Valora, Mento, Nitya Subramanian, Kris Kaczor, Tim Moreton, Aaron Boyd) without addresses, and the founding proposal lists 8 signer addresses “in no particular order”, so no member can be tied to a signer. Membership is mostly Celo-ecosystem projects, and cLabs sits on the other half of the 2/2 rather than inside the Council. |
| Charter | No charter — the docs page is explicitly a work in progress restating the founding forum proposal, which deferred term lengths to “a later date” and never defined renewal, removal or rotation. Review feedback on that thread flagged missing emergency protocols, timezone coverage, compensation and reporting cadence; none have since been published. The Council does follow the Optimism multisig security policy. |
| Can bypass DAO? | Entirely — every L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. upgrade runs on the 2/2 |
| DAO can override SC? | No — the Council administers itself. Seats are changed by the Council Safe calling itself, so 6 of the 8 sitting members decide who joins or leaves. CELO governance ratified the inaugural cohort by vote but holds no standing power, because the |
| Normal upgrade path | A task is published in the public celo-superchain-ops repo → 6/8 Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and L2BEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups. approval → 6/8 cLabs approval → execution through the 2/2 |
|---|---|
| Emergency upgrade path | No separate path — the normal path executes as soon as both halves have signed, so there is no lower emergency threshold. The fast levers are pauses, and neither belongs to the Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and L2BEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups.: the 6/8 |
| Exit window | None — nothing separates the second approval from the upgrade taking effect, so users get no notice and cannot withdraw ahead of an unwanted change. Routine changes run through the same gate: rotating the OP Succinct verification keys is a |
| Proof-system levers | Beyond upgrades, whoever controls the proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. controls withdrawals. |
| Governance token |
|
|---|---|
| Voting venue | The onchain |
| Proposal threshold | 10,000 CELO deposit to queue a proposal. Queued proposals expire after 4 weeks, and only the 3 most-upvoted are promoted to a vote each day. |
| Quorum | Participation must clear a moving baseline — currently ~23% of Locked CELO, scaled by a 0.5 quorum factor to roughly 12%, with a 5% floor. The baseline is an exponential moving average of past turnout, so quorum drifts with participation rather than being fixed. |
| Execution model | 7d referendum → 3d execution window. A 3/14 approver multisig must approve before execution, after which anyone can execute. Scope is the limiting factor: this path governs Celo’s L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. core contracts and the Community Fund, while every L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. contract sits behind the 2/2 |
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
Refresh config-derived discovery metadata at the main-branch block.
Refresh config-derived discovery metadata at the main-branch block.
| + | Status: CREATED |
| contract L2CrossDomainMessenger (celo:0x4200000000000000000000000000000000000007) [N/A] | |
| +++ description: None | |
| + | Status: CREATED |
| contract L2StandardBridge (celo:0x4200000000000000000000000000000000000010) [N/A] | |
| +++ description: None | |
| + | Status: CREATED |
| contract L2ToL1MessagePasser (celo:0x4200000000000000000000000000000000000016) [N/A] | |
| +++ description: None | |
| + | Status: CREATED |
| contract ProxyAdmin (celo:0x4200000000000000000000000000000000000018) [N/A] | |
| +++ description: None | |
Optimism Security Council: Member rotated.
Optimism Security Council: Member rotated.
| contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.9: | |
| - | "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7" |
| + | "eth:0xd91530dB01c60C6B3b824707D33fb0771aB85930" |
| } | |
OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.
OpFoundation shared Safes (UpgradeSafe + OperationsSafe): 2 members rotated.
| contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.0: | |
| - | "eth:0x6419F81580343DF023E68715C6e269aFb00a2cc7" |
| + | "eth:0xf1EfbdC2C0BDC4554E0f1639D7fe88cD870a4639" |
| values.$members.3: | |
| - | "eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8" |
| + | "eth:0x7F1D4FE689B73B628285454667B93cfd09409f27" |
| } | |
Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 (diff). No behavioral change — ProxyAdminOwnedBase import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared Constants library (forward-plumbing for OPCM tooling).
Shared SuperchainConfig upgraded 2.4.0 → 2.4.2 (diff). No behavioral change — ProxyAdminOwnedBase import moved, misleading pause-state warning removed, and 5 new unused constants added to the shared Constants library (forward-plumbing for OPCM tooling).
| contract SuperchainConfig (eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C) [opstack/SuperchainConfig_expiry] { | |
| +++ description: Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched. | |
| sourceHashes.1: | |
| - | "0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28" |
| + | "0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f" |
| values.$implementation: | |
| - | "eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957" |
| + | "eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550" |
| values.$pastUpgrades.6: | |
| + | ["2026-06-25T23:05:47.000Z","0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]] |
| values.$pastUpgrades.7: | |
| + | ["2026-06-25T23:05:47.000Z","0xbfdac60c9687a2e469159bf2458e73de2915a0a5eb53c4991a7ecde2b1fb3f15",["eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"]] |
| values.$upgradeCount: | |
| - | 6 |
| + | 8 |
| values.version: | |
| - | "2.4.0" |
| + | "2.4.2" |
| implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957: | |
| - | "SuperchainConfig" |
| implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550: | |
| + | "SuperchainConfig" |
| } | |
OPSuccinct fault-proof upgrade to celo/v2.1.0 (SP1 Hypercube). The respected dispute game implementation (game type 42) was swapped on the DisputeGameFactory from 0xE7bd695… to a new 0xfF1caC738… , rotating the program verification keys: - aggregationVkey: 0x004f4bbc…0377 - 0x00b04647…4be4 - rangeVkeyCommitment: 0x1fffeb5a…7c2c - 0x1dd60be4…5c94 Both new vkeys reproduce from the celo/v2.1.0 source (verified; steps in common/programHashes.ts). On-chain game code change is small and confined to anchoring: the starting output root now reads ANCHOR STATE REGISTRY.getAnchorRoot() instead of the deprecated anchors(GAME TYPE) , and a new invariant requires a parent game's L2 block to be ahead of the anchor (handles game-type-switch / retirement recovery; prevents duplicate or stale-parent games). The proof system and proposer/challenger access control are unchanged. diff: https://disco.l2beat.com/diff/eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1/eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF SystemConfig minBaseFee raised 0.1 - 0.2 gwei. Routine shared OP governance rotations (not Celo-specific, tracked across OP Stack chains): - DeputyPauseModule deputy: 0x352f1de… - 0x2fA1503… . Scheduled key hygiene. - OpFoundationUpgradeSafe member[6]: 0xc222ab08… - 0xa2A58E31… . Member rotated. - Optimism Security Council member[12]: 0x9282722… - 0xcbC7dCe… . Member rotated.
OPSuccinct fault-proof upgrade to celo/v2.1.0 (SP1 Hypercube).
The respected dispute game implementation (game type 42) was swapped on the
DisputeGameFactory from 0xE7bd695… to a new 0xfF1caC738…,
rotating the program verification keys:
0x004f4bbc…0377 -> 0x00b04647…4be40x1fffeb5a…7c2c -> 0x1dd60be4…5c94Both new vkeys reproduce from the celo/v2.1.0 source (verified; steps in common/programHashes.ts).
On-chain game code change is small and confined to anchoring:
the starting output root now reads ANCHOR_STATE_REGISTRY.getAnchorRoot() instead of the deprecated
anchors(GAME_TYPE), and a new invariant requires a parent game’s L2 block to be ahead of the anchor
(handles game-type-switch / retirement recovery; prevents duplicate or stale-parent games). The proof
system and proposer/challenger access control are unchanged.
diff: https://disco.l2beat.com/diff/eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1/eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF
SystemConfig minBaseFee raised 0.1 -> 0.2 gwei.
Routine shared OP governance rotations (not Celo-specific, tracked across OP Stack chains):
0x352f1de… -> 0x2fA1503…. Scheduled key hygiene.0xc222ab08… -> 0xa2A58E31…. Member rotated.0x9282722… -> 0xcbC7dCe…. Member rotated.| contract DeputyPauseModule (eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754) [opstack/DeputyPauseModule] { | |
| +++ description: Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module. | |
| description: | |
| - | "Allows eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module." |
| + | "Allows eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92 if set as its Safe module." |
| values.deputy: | |
| - | "eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC" |
| + | "eth:0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c" |
| } | |
| contract OpFoundationUpgradeSafe (eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.6: | |
| - | "eth:0xc222ab08333109243B1f4E2a80e3D0A190714AB5" |
| + | "eth:0xa2A58E31C03C59e34ab4d996d811DA0C035BfDea" |
| } | |
| contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) [opstack/SystemConfig] { | |
| +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address. | |
| values.minBaseFee: | |
| - | 100000000000 |
| + | 200000000000 |
| } | |
| contract Optimism Security Council (eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) [GnosisSafe] { | |
| +++ description: None | |
| values.$members.12: | |
| - | "eth:0x92827223f6b397CE9F208eE352bacA710765cACb" |
| + | "eth:0xcbC7dCeb857F0b25523618cCa0A03c419a6d7eA6" |
| } | |
| - | Status: DELETED |
| contract OPSuccinctFaultDisputeGame (eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1) [succinct/OPSuccinct/OPSuccinctFaultDisputeGame] | |
| +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root. | |
| contract DisputeGameFactory (eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683) [opstack/DisputeGameFactory] { | |
| +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. | |
| +++ severity: HIGH | |
| values.game42: | |
| - | "eth:0xE7bd695d6A17970A2D9dB55cfeF7F2024d630aE1" |
| + | "eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF" |
| } | |
| + | Status: CREATED |
| contract OPSuccinctFaultDisputeGame (eth:0xfF1caC738a5263736AF258e4b3D6a4970C6351FF) [succinct/OPSuccinct/OPSuccinctFaultDisputeGame] | |
| +++ description: Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root. | |
The operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. is the only entity that can propose blocksAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over.. A live and trustworthy operator is vital to the health of the system.
MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.
Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.
The user initiates the withdrawal by submitting a regular transaction on this chain. When a state rootA cryptographic hash succinctly representing a state using a Merkle tree. containing such transaction is settled, the funds become available for withdrawal on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. after 3d 12h. Withdrawal inclusion can be proven before state root settlementThe mechanism with which the execution of rollup blocks and the resultant state is verified and possible disputes are resolved. In the context of rollups or other modular blockchains, it often refers to the proof system used--validity (ZK) or fraud proofs, or a combination thereof. Sometimes it will refer to this mechanism along with where the mechanism's outputs are ultimately published and verified, as in Ethereum being a settlement layer by verifying the proofs and allowing for withdrawals., but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge periodIn optimistic rollups, the window of time wherein network participants can assert that some fraud was included in a prior block. Most optimistic rollups currently specify a challenge window of 7 days. By extending the period, there is more time for participants to guard against fraud (invalid state transitions), but also more time until withdrawals gets enabled. of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.
If the user experiences censorship from the operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. with regular L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.
OP stack chains are pursuing the EVM EquivalenceA perfect degree of compatibility; where one system or concept is indistinguishable from another in the domain being compared. In the context of rollups, it generally refers to the proximity to the EVM and to Ethereum architecture. model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. can be deployed on L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups..

A Multisig with 2/2 threshold.
A Multisig with 6/8 threshold. Member of CeloProxyAdminOwner.
A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides livenessLiveness refers to the ability of a system to respond to requests and to process them in a timely manner. In the context of L2s, it refers to the ability of settling transactions, proofs and state roots to the base layer. checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling). Member of SuperchainProxyAdminOwner.
A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides livenessLiveness refers to the ability of a system to respond to requests and to process them in a timely manner. In the context of L2s, it refers to the ability of settling transactions, proofs and state roots to the base layer. checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling.
A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig). Member of Optimism Guardian Multisig, SuperchainProxyAdminOwner.
Participants (13):
0xE61F…76aE0x652B…cB5f0x5c1f…7a810x4A73…e61E0x3A53…aa940xEF9A…877c0x6323…c8650xd5b7…aC900x7ed8…9E390xd915…59300x0a87…efE60xbfA0…E0d90xcbC7…7eA6A Multisig with 2/2 threshold.
Modular contract to be used together with the LivenessModule. Tracks livenessLiveness refers to the ability of a system to respond to requests and to process them in a timely manner. In the context of L2s, it refers to the ability of settling transactions, proofs and state roots to the base layer. / activity of Safe owners.
A Multisig with 2/3 threshold.
A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).
Participants (1):
Optimism Security CouncilA Multisig with 6/8 threshold. Member of CeloProxyAdminOwner.
pause() function → Optimism Guardian Multisig

Contains configuration parameters such as the SequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. address, gas limitThe maximum amount of gas a transaction or block may consume. on this chain and the unsafe blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. signer address.
The OptimismPortal contract is the main entry point to deposit funds from L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. to L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42.

The dispute game factory allows the creation of dispute games, used to propose state rootsA cryptographic hash succinctly representing a state using a Merkle tree. and eventually challenge them.
Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain’s epoch gas limitThe maximum amount of gas a transaction or block may consume., it can be resubmitted via this contract’s replay function.
Used to bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. ERC-721 tokens from host chain to this chain.
The main entry point to deposit ERC20 tokens from host chain to this chain.
All supported tokens in this escrow are included in the value secured calculation.
used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig
The PreimageOracle contract is used to load the required data from L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. for a dispute game.
Logic of the dispute game. When a state rootA cryptographic hash succinctly representing a state using a Merkle tree. is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.
The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.
A helper contract that generates OptimismMintableERC20 contracts on the networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes. it’s deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain’s representation of a token on the host chain, or vice-versa.
Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.
pause() functionContains the latest confirmed state rootA cryptographic hash succinctly representing a state using a Merkle tree. that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the OPSuccinctFaultDisputeGame. Variant for chains using OPSuccinct (SP1) games instead of Cannon, which omits Cannon-specific cross-contract fields (vm, oracle, weth, challengePeriod, absolutePrestate from game).
Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.
Same as FaultDisputeGame, but only two permissioned addresses are designated as proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. and challenger.
Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.
Contract managing access control for proposers and challengers in OPSuccinct.
Logic of the dispute game. When a state rootA cryptographic hash succinctly representing a state using a Merkle tree. is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.
VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v5.0.0).
This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contracts, routing each identifier to the corresponding verifier contract.
VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v6.0.0).
VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v6.1.0).
Used to manage global configuration values for multiple OP Chains within a single Superchain networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes.. The SuperchainConfig contract manages individual pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3 months if left untouched.
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).
Funds can be stolen if the source code of unverified contracts contains malicious code (CRITICAL).