# Celo Markdown version of https://l2beat.com/layer2s/projects/celo ## Summary **Warning:** There are impactful changes and part of the information might be outdated. - Total Value Secured: $270.85 M (+3.36% compared to seven days ago; canonically bridged $2.41 M, natively minted $250.93 M, externally bridged $17.51 M; 6.46% with additional trust assumptions compared to the tokens involved and the Stage assigned to the project's canonical messaging bridge) - **Warning:** The CELO token associated with Celo accounts for 22.9% of the TVS! (sentiment: warning) - Past day UOPS: 10.64 (-13.7% compared to seven days ago) - Stage: Stage 0 - Gas token: CELO - Type: Optimium - Purpose: Universal - Host chain: Ethereum - Chain ID: 42220 ### Risks - Sequencer failure: Self sequence (sentiment: good) - State validation: Fraud proofs (1R, ZK) (sentiment: warning) - Data availability: External (sentiment: warning) - Exit window: None (sentiment: bad) - Proposer failure: Cannot withdraw (sentiment: bad) ### About Celo is an Ethereum Optimium based on the OP stack, scaling real-world solutions & leading a thriving new digital economy for all. ## Value Secured Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#tvs). - [TVS chart (JSON)](https://l2beat.com/api/scaling/tvs/celo) - [TVS breakdown by token (JSON)](https://l2beat.com/api/scaling/tvs/celo/breakdown) ## Volume and flows Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#interop-flows). ## Activity Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#activity). - [Activity chart (JSON)](https://l2beat.com/api/scaling/activity/celo) ## Onchain costs Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#onchain-costs). ## Data posted Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#data-posted). ## Liveness Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#liveness). ## Milestones & Incidents - 2025-12-10: [Jello hardfork activates OP Succinct Lite](https://forum.celo.org/t/jello-hardfork-successfully-activates-on-mainnet-introducing-op-succinct-lite/12754). Celo implements OP Succinct Lite, introducing ZK proofs for dispute resolution and DA verification. - 2025-03-26: [Celo becomes an Ethereum L2](https://blog.celo.org/celo-l2-is-now-live-a-note-from-our-founders-c585bd57b5fa). Celo migrates from an L1 to an L2 architecture on Ethereum and EigenDA. ## Risk summary **Warning:** 4 addresses have unverified source code (CRITICAL). - L2CrossDomainMessenger: 0x4200000000000000000000000000000000000007 - L2StandardBridge: 0x4200000000000000000000000000000000000010 - L2ToL1MessagePasser: 0x4200000000000000000000000000000000000016 - ProxyAdmin: 0x4200000000000000000000000000000000000018 ### Funds can be stolen if 1. a contract receives a malicious code upgrade. There is no delay on code upgrades, (CRITICAL) 2. the source code of unverified contracts contains malicious code, (CRITICAL) 3. the validity proof cryptography is broken or implemented incorrectly, 4. no whitelisted challenger disputes an invalid state root before the challenge window expires, (CRITICAL) 5. the proposer routes proof verification through a malicious or faulty verifier. ### Funds can be lost if 6. the sequencer posts an unavailable transaction root, (CRITICAL) 7. the data is not available on the external provider (CRITICAL). ### Funds can be frozen if 8. the permissioned proposer fails to publish state roots to the L1. ### MEV can be extracted if 9. the operator exploits their centralized position and frontruns user transactions. ## Risk analysis ### Sequencer failure Self sequence (sentiment: good) In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 12h delay on this operation. ### State validation Fraud proofs (1R, ZK) (sentiment: warning) 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. ### Data availability External (sentiment: warning) Proof construction and state derivation fully rely on data that is posted on EigenDA. The sequencer is publishing data to EigenDA v2. Sequencer transaction data roots are checked against the DACert Verifier data roots, signed off by EigenDA operators. ### Exit window None (sentiment: bad) There is no exit window for users to exit in case of unwanted upgrades as they are initiated by the Security Council with instant upgrade power and without proper notice. ### Proposer failure Cannot withdraw (sentiment: bad) Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. ## Stage Celo is a Stage 0 Optimium. ### Stage 0 - [x] The project self-identifies as a Validium or Optimium. - [x] State roots are posted to Ethereum L1. - [x] A complete and functional proof system (fraud or validity proofs) is deployed. - [x] DA is attested by a committee or external DA layer, not solely by the sequencer. - [x] A source-available node exists that can reconstruct the L2 state when DA is accessible. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://github.com/celo-org/op-geth) ### Stage 1 - [ ] Principle: Compromising ≥75% of the Security Council to push a malicious upgrade, or sequencer+DA-committee collusion to withhold data and finalize invalid state roots, should be the only ways (other than bugs) to steal funds or block withdrawals indefinitely. - [ ] Users' withdrawals can be censored by the permissioned operators. - [ ] Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring. - [x] The Security Council is properly set up [(List of members)](https://docs.celo.org/home/protocol/security-council). - [x] A secure DA verifier is integrated on L1 that checks DA attestations onchain, enabling challengers to retrieve data and construct proofs. - [ ] The DA verifier is upgradeable with less than 7d independent exit window. - [x] The DA layer meets minimum decentralization: a DAC with ≥5 external members under an honest-minority assumption, or an external DA chain with an attestation verifier. - [x] Prover source code is published. [View code](https://github.com/succinctlabs/sp1) - [x] Onchain verifiers' smart contracts (including the DA verifier) can be independently regenerated from the verifier source code. - [x] The sources of all programs used are public and program hashes can be independently regenerated. ### Stage 2 - [ ] Upgrades unrelated to onchain provable bugs, including upgrades to the DA verifier, provide less than 30d to exit. - [ ] The Security Council's actions are not confined to onchain provable bugs. - [ ] The DA verifier (and related contracts) is upgradeable with less than 30d independent exit window. - [ ] The DA mechanism relies on reputational security alone; no staked assets are at risk for DA misbehavior or slashable < TVS. ## Data availability ### Data is posted to EigenDA Transactions roots are posted onchain and the full data is posted on EigenDA. The sequencer is publishing data to EigenDA v2. The DACert Verifier is used to verify attestations from the EigenDA operator set that the data is indeed available. If EigenDA becomes unavailable, the sequencer falls back to Ethereum. **Risks** - 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). **References** - [EigenDA Docs - Overview](https://docs.eigenda.xyz/overview) - [Derivation: Batch submission - OP Mainnet specs](https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission) - [BatchInbox - address](https://etherscan.io/address/0xff00000000000000000000000000000000042220#code) - [OptimismPortal2.sol - source code, depositTransaction function](https://etherscan.io/address/0x2c431080Fc733E259654f3b91E39468d9A85Ac9b#code) ## State validation ### Fraud proofs State roots 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 period 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. **Risks** - 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. **References** - [OP Succinct Lite architecture](https://succinctlabs.github.io/op-succinct/fault_proofs/fault_proof_architecture.html) - [Celo Challengers](https://docs.celo.org/home/protocol/challengers) ## Upgrades & Governance Celo's L1 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 Council, 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 sequencer, gas configuration and the proposer and challenger allowlists without Council approval. ## Updates Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/celo#updates). ## Operator ### The system has a centralized operator The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system. **Risks** - MEV can be extracted if the operator exploits their centralized position and frontruns user transactions. ### Users can force any transaction 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. **References** - [Sequencing Window - OP Mainnet Specs](https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window) - [OptimismPortal2.sol - source code, depositTransaction function](https://etherscan.io/address/0x2c431080Fc733E259654f3b91E39468d9A85Ac9b#code) ## Withdrawals ### Regular exits The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof. **References** - [OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function](https://etherscan.io/address/0x2c431080Fc733E259654f3b91E39468d9A85Ac9b#code) - [OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function](https://etherscan.io/address/0x2c431080Fc733E259654f3b91E39468d9A85Ac9b#code) ### Forced messaging If the user experiences censorship from the operator with regular L2->L1 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. **References** - [Forced withdrawal from an OP Stack blockchain](https://docs.optimism.io/stack/transactions/forced-transaction) ## Other considerations ### EVM compatible smart contracts are supported OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2. **References** - [Introducing EVM Equivalence](https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) ## Permissions ### Ethereum #### Actors ##### CeloProxyAdminOwner Addresses: [0x4092A77bAF58fef0309452cEaCb09221e556E112](https://etherscan.io/address/0x4092A77bAF58fef0309452cEaCb09221e556E112) A Multisig with 2/2 threshold. * Can upgrade **with no delay** * Celo native asset Token [via: ProxyAdmin] * L1CrossDomainMessenger [via: ProxyAdmin] * CeloSuperchainConfig [via: ProxyAdmin] * L1ERC721Bridge [via: ProxyAdmin] * OptimismMintableERC20Factory [via: ProxyAdmin] * SystemConfig [via: ProxyAdmin] * AnchorStateRegistry [via: ProxyAdmin] * DelayedWETH [via: ProxyAdmin] * L1StandardBridge [via: ProxyAdmin] * OptimismPortal2 [via: ProxyAdmin] * DelayedWETH [via: ProxyAdmin] * DisputeGameFactory [via: ProxyAdmin] * Can interact with AddressManager * set and change address mappings [via: ProxyAdmin] ##### Celo cLabs Multisig Addresses: [0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d](https://etherscan.io/address/0x9Eb44Da23433b5cAA1c87e35594D15FcEb08D34d) A Multisig with 6/8 threshold. Member of CeloProxyAdminOwner. * Can interact with SystemConfig * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system * Can interact with AccessManager * Allowed to add or remove proposers and challengers, and transfer ownership of the AccessManager ##### OpFoundationUpgradeSafe Addresses: [0x847B5c174615B1B7fDF770882256e2D3E95b9D92](https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92) A Multisig with 5/7 threshold. It uses the following modules: SaferSafes (A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness 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. * Can interact with SuperchainConfig * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig] ##### SaferSafes Addresses: [0xA8447329e52F64AED2bFc9E7a2506F7D369f483a](https://etherscan.io/address/0xA8447329e52F64AED2bFc9E7a2506F7D369f483a) A Gnosis Safe module combining LivenessModule and TimelockGuard. Provides liveness checks where a fallback owner can challenge and take over if Safe owners are unresponsive, plus optional timelock delays for transaction scheduling. * Can interact with SuperchainConfig * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: OpFoundationUpgradeSafe → LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig] ##### Optimism Security Council Addresses: [0xc2819DC788505Aac350142A7A707BF9D03E3Bd03](https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03) 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. * Can interact with SuperchainConfig * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: Optimism Guardian Multisig] ##### SuperchainProxyAdminOwner Addresses: [0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A](https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A) A Multisig with 2/2 threshold. * Can upgrade **with no delay** * SuperchainConfig [via: SuperchainProxyAdmin] * Can interact with AddressManager * set and change address mappings [via: SuperchainProxyAdmin] ##### LivenessGuard Addresses: [0x24424336F04440b1c28685a38303aC33C9D14a25](https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25) Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners. * Can interact with LivenessModule * can remove members of Optimism Security Council inactive for 3mo 8d ##### SP1VerifierGatewayMultisig Addresses: [0xCafEf00d348Adbd57c37d1B77e0619C6244C6878](https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878) A Multisig with 2/3 threshold. * Can interact with SP1VerifierGateway * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ##### Optimism Guardian Multisig Addresses: [0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2](https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2) 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). ##### Celo Security Council Addresses: [0xC03172263409584f7860C25B6eB4985f0f6F4636](https://etherscan.io/address/0xC03172263409584f7860C25B6eB4985f0f6F4636) A Multisig with 6/8 threshold. Member of CeloProxyAdminOwner. **References** - [Security Council members - Celo Docs](https://docs.celo.org/home/protocol/security-council) ##### EOA 1 Addresses: [0x0cd08c7f7A96AA9635f761b49216B9eA74C5cA60](https://etherscan.io/address/0x0cd08c7f7A96AA9635f761b49216B9eA74C5cA60) * Can interact with SystemConfig * Allowed to commit transactions from the current layer to the host chain ##### Optimism EOA 1 Addresses: [0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c](https://etherscan.io/address/0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c) * Can interact with SuperchainConfig * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) [via: DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig] ##### 2 EOAs Addresses: [0x0B7de3F505AD7Fc9b38207CD8E2Adc7a604BFe62](https://etherscan.io/address/0x0B7de3F505AD7Fc9b38207CD8E2Adc7a604BFe62) (EOA 2), [0x79D14553D6B3484F5612272B43c219A882415d33](https://etherscan.io/address/0x79D14553D6B3484F5612272B43c219A882415d33) (EOA 7) * Can interact with AccessManager * Allowed to post new state roots of the current layer to the host chain ##### 6 EOAs Addresses: [0x53E8EEAAE0731CCc888513695eC1Bd792ec975Ca](https://etherscan.io/address/0x53E8EEAAE0731CCc888513695eC1Bd792ec975Ca) (EOA 3), [0x56966549e0953e8d6E17Fcd3278b003d81f58cA8](https://etherscan.io/address/0x56966549e0953e8d6E17Fcd3278b003d81f58cA8) (EOA 4), [0x7247204E46B381149d99acF88b318713fE12c32f](https://etherscan.io/address/0x7247204E46B381149d99acF88b318713fE12c32f) (EOA 5), [0x77E831A0A6a680335BB54937E085fF625dfE3f6F](https://etherscan.io/address/0x77E831A0A6a680335BB54937E085fF625dfE3f6F) (EOA 6), [0xc6E6836CaCB6fF0a843050DB7F64bb2ab864C463](https://etherscan.io/address/0xc6E6836CaCB6fF0a843050DB7F64bb2ab864C463) (EOA 8), [0xe4ce4999b1C4C60C384AC96f370F00796ae9eC78](https://etherscan.io/address/0xe4ce4999b1C4C60C384AC96f370F00796ae9eC78) (EOA 9) * Can interact with AccessManager * Allowed to challenge or delete state roots proposed by a Proposer ### Celo #### Actors ##### ProxyAdmin Addresses: [0x4200000000000000000000000000000000000018](https://celoscan.io/address/0x4200000000000000000000000000000000000018) (unverified) * Can upgrade **with no delay** * L2CrossDomainMessenger * L2StandardBridge * L2ToL1MessagePasser * ProxyAdmin ## Smart contracts ### Ethereum #### SystemConfig Addresses: [0x89E31965D844a309231B1f17759Ccaf1b7c09861](https://etherscan.io/address/0x89E31965D844a309231B1f17759Ccaf1b7c09861#code), [0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB](https://etherscan.io/address/0xe5Dc3C0a3489b81A6F3AE3bB49bF9CcBFB85a3dB#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner * **batcherHash**: EOA 1 * **owner**: Celo cLabs Multisig Can be upgraded by: CeloProxyAdminOwner with no delay #### OptimismPortal2 Addresses: [0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC](https://etherscan.io/address/0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC#code), [0x2c431080Fc733E259654f3b91E39468d9A85Ac9b](https://etherscan.io/address/0x2c431080Fc733E259654f3b91E39468d9A85Ac9b#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the 42. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### DisputeGameFactory Addresses: [0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683](https://etherscan.io/address/0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683#code), [0x74Fac1D45B98bae058F8F566201c9A81B85C7D50](https://etherscan.io/address/0x74Fac1D45B98bae058F8F566201c9A81B85C7D50#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### SuperchainConfig Addresses: [0x95703e0982140D16f8ebA6d158FccEde42f04a4C](https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code), [0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550](https://etherscan.io/address/0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550#code) (Implementation (Upgradable)), [0x543bA4AADBAb8f9025686Bd03993043599c6fB04](https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code) (Admin) 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. * Roles: * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes Can be upgraded by: SuperchainProxyAdminOwner with no delay #### L1CrossDomainMessenger Addresses: [0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95](https://etherscan.io/address/0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95#code), [0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88](https://etherscan.io/address/0xE45D2d835d0b2D3C7f4fEe1eaa19A068d0ba8A88#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) 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 limit, it can be resubmitted via this contract's replay function. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### L1ERC721Bridge Addresses: [0x3C519816C5BdC0a0199147594F83feD4F5847f13](https://etherscan.io/address/0x3C519816C5BdC0a0199147594F83feD4F5847f13#code), [0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9](https://etherscan.io/address/0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) Used to bridge ERC-721 tokens from host chain to this chain. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### L1StandardBridge Addresses: [0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe](https://etherscan.io/address/0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe#code), [0xfA707F45A23370d9154AF4457401274E38FA2d8A](https://etherscan.io/address/0xfA707F45A23370d9154AF4457401274E38FA2d8A#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) The main entry point to deposit ERC20 tokens from host chain to this chain. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### LivenessModule Addresses: [0x0454092516c9A4d636d3CAfA1e82161376C8a748](https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code) 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 * Roles: * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8 * **livenessGuard**: LivenessGuard #### Celo native asset Token Addresses: [0x057898f3C43F129a17517B9056D23851F124b19f](https://etherscan.io/address/0x057898f3C43F129a17517B9056D23851F124b19f#code), [0x64fE3f9201E6534D2d744c7C57D134E709131a6e](https://etherscan.io/address/0x64fE3f9201E6534D2d744c7C57D134E709131a6e#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### PreimageOracle Addresses: [0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3](https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code) The PreimageOracle contract is used to load the required data from L1 for a dispute game. #### CeloSuperchainConfig Addresses: [0x25035d2233d099f0BA710ca1e5a3834842870C66](https://etherscan.io/address/0x25035d2233d099f0BA710ca1e5a3834842870C66#code), [0xA59b2eBf8231f0e31508Bd18e9185BeB5Ab1C038](https://etherscan.io/address/0xA59b2eBf8231f0e31508Bd18e9185BeB5Ab1C038#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### FaultDisputeGame Addresses: [0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F](https://etherscan.io/address/0x25Bd434Aa96EE31D6661c89CF4290281f1ed856F#code) 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. #### SuperchainProxyAdmin Addresses: [0x543bA4AADBAb8f9025686Bd03993043599c6fB04](https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code) * Roles: * **owner**: SuperchainProxyAdminOwner #### MIPS Addresses: [0x6463dEE3828677F6270d83d45408044fc5eDB908](https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code) The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute. #### OptimismMintableERC20Factory Addresses: [0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906](https://etherscan.io/address/0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906#code), [0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016](https://etherscan.io/address/0x149BD036f5F57D0FF4b5F102C9d46E3c0EB2C016#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) A helper contract that generates OptimismMintableERC20 contracts on the network 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. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### DeputyPauseModule Addresses: [0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754](https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code) Allows 0x2fA150379bF32b6d79Eeb4ff9bD280E76049a87c, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module. * Roles: * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function #### ProxyAdmin Addresses: [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) * Roles: * **owner**: CeloProxyAdminOwner #### AnchorStateRegistry Addresses: [0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d](https://etherscan.io/address/0x8fE58d2168b5412Cf1Bd212cE6137f8b7300222d#code), [0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E](https://etherscan.io/address/0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) Contains the latest confirmed state root 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). * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### DelayedWETH Addresses: [0x91FA5B653aFe81A79890A93ad83768A04cc011b4](https://etherscan.io/address/0x91FA5B653aFe81A79890A93ad83768A04cc011b4#code), [0xb86a464CC743440FddAa43900e05318ef4818b29](https://etherscan.io/address/0xb86a464CC743440FddAa43900e05318ef4818b29#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) 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. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### PermissionedDisputeGame Addresses: [0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9](https://etherscan.io/address/0xa83a2E8595b602aD98C928E9cD123c0E05C84FD9#code) Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger. #### DelayedWETH Addresses: [0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552](https://etherscan.io/address/0xC700d16428cF5Bfa71D91E66fA54Fc11A73f2552#code), [0xb86a464CC743440FddAa43900e05318ef4818b29](https://etherscan.io/address/0xb86a464CC743440FddAa43900e05318ef4818b29#code) (Implementation (Upgradable)), [0x783A434532Ee94667979213af1711505E8bFE374](https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#code) (Admin) 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. * Roles: * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner Can be upgraded by: CeloProxyAdminOwner with no delay #### AccessManager Addresses: [0xF59a19c5578291cB7fd22618D16281aDf76f2816](https://etherscan.io/address/0xF59a19c5578291cB7fd22618D16281aDf76f2816#code) Contract managing access control for proposers and challengers in OPSuccinct. * Roles: * **challengers**: EOA 3, EOA 4, EOA 5, EOA 6, EOA 8, EOA 9 * **owner**: Celo cLabs Multisig * **proposers**: EOA 2, EOA 7 #### OPSuccinctFaultDisputeGame Addresses: [0xfF1caC738a5263736AF258e4b3D6a4970C6351FF](https://etherscan.io/address/0xfF1caC738a5263736AF258e4b3D6a4970C6351FF#code) 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. #### SP1Verifier Addresses: [0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459](https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code) Verifier contract for SP1 proofs (v5.0.0). #### SP1VerifierGateway Addresses: [0x3B6041173B80E77f038f3F2C0f9744f04837185e](https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code) This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract. * Roles: * **owner**: SP1VerifierGatewayMultisig #### SP1Verifier Addresses: [0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C](https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code) Verifier contract for SP1 proofs (v6.0.0). #### SP1Verifier Addresses: [0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A](https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code) Verifier contract for SP1 proofs (v6.1.0). ### Celo #### L2CrossDomainMessenger Addresses: [0x4200000000000000000000000000000000000007](https://celoscan.io/address/0x4200000000000000000000000000000000000007#code) (unverified), [0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007](https://celoscan.io/address/0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007#code) (Implementation (Upgradable), unverified), [0x4200000000000000000000000000000000000018](https://celoscan.io/address/0x4200000000000000000000000000000000000018#code) (Admin, unverified) * Roles: * **admin**: ProxyAdmin The source code of this contract is not verified on Etherscan. Can be upgraded by: ProxyAdmin with no delay #### L2StandardBridge Addresses: [0x4200000000000000000000000000000000000010](https://celoscan.io/address/0x4200000000000000000000000000000000000010#code) (unverified), [0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010](https://celoscan.io/address/0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010#code) (Implementation (Upgradable), unverified), [0x4200000000000000000000000000000000000018](https://celoscan.io/address/0x4200000000000000000000000000000000000018#code) (Admin, unverified) * Roles: * **admin**: ProxyAdmin The source code of this contract is not verified on Etherscan. Can be upgraded by: ProxyAdmin with no delay #### L2ToL1MessagePasser Addresses: [0x4200000000000000000000000000000000000016](https://celoscan.io/address/0x4200000000000000000000000000000000000016#code) (unverified), [0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016](https://celoscan.io/address/0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016#code) (Implementation (Upgradable), unverified), [0x4200000000000000000000000000000000000018](https://celoscan.io/address/0x4200000000000000000000000000000000000018#code) (Admin, unverified) * Roles: * **admin**: ProxyAdmin The source code of this contract is not verified on Etherscan. Can be upgraded by: ProxyAdmin with no delay 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).