Search

Search for projects by name or address

Celo logo
Celo

Badges

About

Celo is an Ethereum Optimium based on the OP stack, scaling real-world solutions & leading a thriving new digital economy for all.


  • Total Value SecuredTVS
    $249.61 M1.89%
  • Past day UOPSDaily UOPS
    11.900.57%
  • Stage
  • Gas token
    CELO

  • Type
    Optimium
  • Purpose
    Universal
  • Chain ID
    42220

  • Tokens breakdown


    Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    Celo is an Ethereum Optimium based on the OP stack, scaling real-world solutions & leading a thriving new digital economy for all.


    Total
    Canonically BridgedCanonically Bridged ValueCanonical
    Natively MintedNatively Minted TokensNative
    Externally BridgedExternally Bridged ValueExternal

    ETH & derivatives
    Stablecoins
    BTC & derivatives
    Other
    Compare with other projects
    Avg value per second ≈ $7.69 K|1 particle ≈ $100
    Chain stats
    Stats
    Total volume
    $241.85 K
    Volume in
    $70.90 K
    Volume out
    $170.95 K
    Net flow
    -$100.05 K
    Total transfers
    392
    Unique tokens
    12
    Transfers in
    360
    Transfers out
    32
    Avg. transfer value
    $616.98
    Avg. transfer time
    1h 30m
    Connected
    7 chains
    Avg. value per second
    $2.79/s
    Top routes
    Transfer size
    Under $100
    $100-$1K
    $1K-$10K
    $10K-$100K
    Over $100K
    Transfer type distribution

    2025 Sep 03 — 2026 Sep 03

    Past Day UOPS
    11.900.57%
    Past Day Ops count
    1.02 M
    Total Ops
    672.32 M
    since 2025 Mar 26
    Max. UOPS
    23.74
    2026 Apr 12
    Past day UOPS/TPS Ratio
    <1.01
    Compare with other projects

    The section shows the operating costs that L2s pay to Ethereum.


    2025 Sep 03 — 2026 Sep 03


    Total cost
    $14.45 K
    Avg cost per L2 UOP
    $0.000030
    Avg cost per day
    $39.59

    Compare with other projects

    This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data toEthereumEthereumEigenDAEigenDA.


    Data source: API provided by EigenLayer

    2025 Sep 03 — 2026 Sep 03


    Data posted
    115.64 GiB
    Avg size per day
    324.41 MiB
    Avg size per L2 UOP
    254.78 B

    Compare with other projects

    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.

    No ongoing anomalies detected

    2026 Aug 04 — Sep 03

    Avg. tx data subs. interval
    4 minutes
    Avg. state updates interval
    29 minutes
    Past 30 days anomalies
    99% normal uptime

    Last 30 day anomalies

    All liveness anomalies detected for this project in the last 30 days, helping you review recent downtime and availability issues.

    No State updates were performed for 1h 50m (from 2026 Aug 17, 06:34 UTC until 2026 Aug 17, 08:24 UTC). These typically occur every 19m 29s on average.

    Jello hardfork activates OP Succinct Lite

    2025 Dec 10th

    Celo implements OP Succinct Lite, introducing ZK proofs for dispute resolution and DA verification.

    Learn more

    Celo becomes an Ethereum L2

    2025 Mar 26th

    Celo migrates from an L1 to an L2 architecture on Ethereum and EigenDA.

    Learn more
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    Self sequence

    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)

    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

    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

    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

    Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.

    Celo
    Celo is a
    Stage 0
    Optimium.

    Learn more about Stages
    Please keep in mind that these stages do not reflect project security, this is an opinionated assessment of project maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal.

    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.

    • 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).

    1. EigenDA Docs - Overview
    2. Derivation: Batch submission - OP Mainnet specs
    3. BatchInbox - address
    4. OptimismPortal2.sol - source code, depositTransaction function
    Learn more about the DA layer here: EigenDA logoEigenDA
    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.

    • 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.

    1. OP Succinct Lite architecture
    2. Celo Challengers

    Trusted Setups

    Onchain verifier

    Used in

    Base Chain logoMantle logoCelo logoMorph logoX Layer logo

    Projects used in

    Search for projects used in

    Onchain verifier

    Used in

    Base Chain logoMantle logoCelo logoMorph logoX Layer logo

    Projects used in

    Search for projects used in

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x00b0...4be4
    Celo logo
    0x1dd6...5c94
    Celo logo

    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.

    Governance profile

    Security Council

    Composition

    6/8 community Security Council, nested as one of two signers in the 2/2 CeloProxyAdminOwner alongside the 6/8 Celo cLabs Multisig. An L1 upgrade therefore needs 12 signatures across two bodies, and neither side can move alone — the stated design goal is a non-cLabs quorum-blocking group. The policy explicitly permits nested multisigs, and one of the 8 Council seats is itself a 2/3 Safe, so a single seat can be held by a group rather than a person.

    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 L1 upgrade runs on the 2/2 CeloProxyAdminOwner with no CELO vote at any step. cLabs goes further and acts alone outside the 2/2: it owns SystemConfig (sequencer and gas configuration), owns the OP Succinct AccessManager gating the 2 proposers and 6 challengers, and is the CeloSuperchainConfig guardian able to pause Celo withdrawals by itself.

    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 Governance contract reaches Celo core contracts and the Community Fund rather than the Ethereum-side rollup contracts.

    Upgrades

    Normal upgrade path

    A task is published in the public celo-superchain-ops repo → 6/8 Security Council approval6/8 cLabs approval → execution through the 2/2 CeloProxyAdminOwner. Task files carry a nonce per signing layer, including a grand_child entry for the nested Safe inside the Council. No timelock at any step.

    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 Council: the 6/8 Celo cLabs Multisig is the CeloSuperchainConfig guardian and can pause Celo withdrawals alone, while the shared SuperchainConfig guardian resolves to the 10/13 Optimism Security Council, which can pause the whole Superchain including Celo without any Celo party consenting. Pauses lapse after 3mo 1d. Celo can reassign its own guardian but cannot remove Optimism’s, since the shared config is upgradable only by the 2/2 SuperchainProxyAdminOwner.

    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 DisputeGameFactory.setImplementation call and needs the full 2/2.

    Proof-system levers

    Beyond upgrades, whoever controls the proof system controls withdrawals. AccessManager is cLabs-owned and currently allowlists 2 proposers and 6 challengers (5 independent plus one cLabs). A game can be challenged for 3d 12h, and if no proposal lands for 14d the system falls back to permissionless proposing.

    Token governance

    Governance token

    CELO — 1,000,000,000 total supply. Voting weight comes from Locked CELO, not raw balance. Governance is native to the Celo chain and predates the L2 migration.

    Voting venue

    The onchain Governance contract on Celo, with proposals raised as CGPs and discussed on the Celo forum. Ethereum-side rollup contracts are not reachable from it.

    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 L2 core contracts and the Community Fund, while every L1 rollup contract sits behind the 2/2 CeloProxyAdminOwner instead.

    Past upgrades

    The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.

    Count of upgrades
    29
    Last upgrade
    2mo 9d ago
    Avg upgrade interval
    3mo 26d
    2026 July 17, 10:07 UTC
    2changes

    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"
    }
    2026 July 06, 07:55 UTC
    High severity
    8changes

    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"
    }
    2026 June 11, 11:08 UTC
    High severity
    8changes

    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.

    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.
    2026 April 24, 13:43 UTC
    1change

    SystemConfig minBaseFee raised from 50 gwei to 100 gwei.

    contract SystemConfig (eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861) {
    +++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.
    values.minBaseFee:
    - 50000000000
    + 100000000000
    }
    2026 April 17, 13:47 UTC
    3changes

    New SP1 Hypercube Plonk v6.1.0 verifier (0xc3c6dDD) registered in SP1VerifierGateway with selector 0x5a093a2f. Added to activeVerifiers and allVerifiers ; SP1 proofs using this selector are now routed to the new contract. The verifier is the canonical Succinct deployment at that address on Ethereum mainnet (V6 1 0 SP1 VERIFIER PLONK). Registered in sp1hypercube catalog.

    contract SP1VerifierGateway (eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e) {
    +++ description: 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.
    +++ description: Verifiers that are routed to by their selector and not frozen.
    values.activeVerifiers.2:
    + {"selector":"0x5a093a2f","verifier":"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"}
    +++ description: All verifiers that were ever routed to by this gateway.
    values.allVerifiers.11:
    + {"selector":"0x5a093a2f","verifier":"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"}
    }
    + Status: CREATED
    contract SP1Verifier (eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A)
    +++ description: None

    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.

    • 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.

    1. Sequencing Window - OP Mainnet Specs
    2. OptimismPortal2.sol - source code, depositTransaction function

    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.

    1. OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function
    2. OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function

    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.

    1. Forced withdrawal from an OP Stack blockchain

    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.

    1. Introducing EVM Equivalence
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    CeloProxyAdminOwner0x4092…E112

    A Multisig with 2/2 threshold.

    • Can upgrade with no delay
      • Celo native asset Token
      • L1CrossDomainMessenger
      • CeloSuperchainConfig
      • L1ERC721Bridge
      • OptimismMintableERC20Factory
      • SystemConfig
      • AnchorStateRegistry
      • DelayedWETH
      • L1StandardBridge
      • OptimismPortal2
      • DelayedWETH
      • DisputeGameFactory
    • Can interact with AddressManager
      • set and change address mappings
    Celo cLabs Multisig0x9Eb4…D34d

    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
    OpFoundationUpgradeSafe0x847B…9D92

    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)
    Used in:
    SaferSafes0xA844…483a

    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)
    Used in:
    Optimism Security Council0xc281…Bd03

    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)
    Used in:
    SuperchainProxyAdminOwner0x5a0A…3d2A

    A Multisig with 2/2 threshold.

    • Can upgrade with no delay
      • SuperchainConfig
    • Can interact with AddressManager
      • set and change address mappings
    Used in:
    LivenessGuard0x2442…4a25

    Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.

    • Can interact with LivenessModule
    Used in:
    SP1VerifierGatewayMultisig0xCafE…6878

    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
    Used in:
    Optimism Guardian Multisig0x09f7…dAf2

    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 Council
    Used in:
    Celo Security Council0xC031…4636

    A Multisig with 6/8 threshold. Member of CeloProxyAdminOwner.

    1. Security Council members - Celo Docs
    • Can interact with SystemConfig
      • Allowed to commit transactions from the current layer to the host chain
    Optimism EOA 10x2fA1…a87c
    • 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)
    Used in:
    • Can interact with AccessManager
      • Allowed to post new state roots of the current layer to the host chain
    • Can interact with AccessManager
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    Ethereum

    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

    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
    The following tokens are included in the value secured calculation:
    ETH token logo

    The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.

    • Roles:
      • admin: ProxyAdmin; ultimately CeloProxyAdminOwner
    Implementation used in:

    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
    Proxy used in:
    Implementation used in:

    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

    Used to bridge ERC-721 tokens from host chain to this chain.

    • Roles:
      • admin: ProxyAdmin; ultimately CeloProxyAdminOwner
    Implementation used in:

    The main entry point to deposit ERC20 tokens from host chain to this chain.

    • Roles:
      • admin: ProxyAdmin; ultimately CeloProxyAdminOwner

    All supported tokens in this escrow are included in the value secured calculation.

    LivenessModule0x0454…a748

    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
    Implementation used in:
    • Roles:
      • admin: ProxyAdmin; ultimately CeloProxyAdminOwner
    PreimageOracle0x1fb8…aDD3

    The PreimageOracle contract is used to load the required data from L1 for a dispute game.

    Implementation used in:
    • Roles:
      • admin: ProxyAdmin; ultimately CeloProxyAdminOwner
    FaultDisputeGame0x25Bd…856F

    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.

    SuperchainProxyAdmin0x543b…fB04
    • Roles:
      • owner: SuperchainProxyAdminOwner
    Implementation used in:

    The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.

    Implementation used in:

    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
    DeputyPauseModule0x76fC…1754

    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
    Implementation used in:
    ProxyAdmin0x783A…E374
    • Roles:
      • owner: CeloProxyAdminOwner

    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
    Implementation used in:

    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
    PermissionedDisputeGame0xa83a…4FD9

    Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer 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.

    • Roles:
      • admin: ProxyAdmin; ultimately CeloProxyAdminOwner
    AccessManager0xF59a…2816

    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
    OPSuccinctFaultDisputeGame0xfF1c…51FF

    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.

    SP1Verifier0x0459…C459

    Verifier contract for SP1 proofs (v5.0.0).

    Implementation used in:
    SP1VerifierGateway0x3B60…185e

    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
    Implementation used in:
    SP1Verifier0x8a0f…Fc5C

    Verifier contract for SP1 proofs (v6.0.0).

    Implementation used in:
    SP1Verifier0xc3c6…AF2A

    Verifier contract for SP1 proofs (v6.1.0).

    Implementation used in:

    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).

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x00b0...4be4
    Celo logo
    0x1dd6...5c94
    Celo logo