Search

Search for projects by name or address

Badges

About

BOB (Build on Bitcoin) is an OP Stack rollup that aims to natively support the Bitcoin stack. The current implementation supports a variety of canonical and external bridging for BTC-related assets and a tBTC-v2 LightRelay smart contract for verifying...


  • Total Value SecuredTVS
    $61.15 M0.77%
  • Past day UOPSDaily UOPS
    0.0443.6%
  • Stage
  • Gas token
    ETH

  • Type
    Optimistic Rollup
  • Purposes
    Universal, Bitcoin DApps
  • Chain ID
    60808

  • Tokens breakdown

    Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    BOB (Build on Bitcoin) is an OP Stack rollup that aims to natively support the Bitcoin stack. The current implementation supports a variety of canonical and external bridging for BTC-related assets and a tBTC-v2 LightRelay smart contract for verifying...


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

    ETH & derivatives
    Stablecoins
    BTC & derivatives
    Other

    2025 Jul 09 — 2026 Jul 09

    Past Day UOPS
    0.0443.6%
    Past Day Ops count
    3.77 K
    Max. UOPS
    2.19
    2024 Dec 04
    Past day UOPS/TPS Ratio
    1.00

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


    2025 Jul 09 — 2026 Jul 09


    Total cost
    $1.63 K
    Avg cost per L2 UOP
    $0.000617
    Avg cost per day
    $4.46

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


    2025 Jul 09 — 2026 Jul 09


    Data posted
    1.02 GiB
    Avg size per day
    2.86 MiB
    Avg size per L2 UOP
    414.76 B

    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 Jun 09 — Jul 09

    Avg. tx data subs. interval
    59 minutes
    Avg. state updates interval
    12 hours
    Past 30 days anomalies
    100% normal uptime

    Kona derivation bug

    2025 Dec 5th

    To fix a bug in the Kona derivation, the proof system is updated and a state root manually resolved.

    Learn more

    Proof System Intervention

    2025 Jul 24th

    A state root proposal is manually resolved after changing the finalization config.

    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) prove the validity of a state proposal, only requiring a single transaction to resolve. A fault proof eliminates a state proposal by proving that any intermediate state transition in the proposal results in a different state root. For either, a ZK proof is used.

    Data availability
    Onchain

    All of the data needed for proof construction is published on Ethereum L1.

    Exit window
    None

    There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.

    Proposer failure
    Self propose

    The primary whitelisted proposer has an optimistic advantage, letting them win by default if no conflicting proposals are made. This privilege is dropped after 1mo of inactivity, and anyone can leverage the source available zk prover to prove a fault or a conflicting valid proposal to win against the privileged proposer and/or supply a bond and make a counter proposal at any time.

    BOB
    BOB is a
    Stage 0
    Optimistic Rollup.

    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.

    All data required for proofs is published on chain

    All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.

    1. Derivation: Batch submission - OP Mainnet specs
    2. BatchInbox - address
    3. OptimismPortal2.sol - source code, depositTransaction function
    Learn more about the DA layer here: Ethereum logoEthereum
    Node software

    The rollup node is composed of two software components: op-node, implementing consensus related logic, and op-geth, implementing execution logic. The configuration file can be found here.

    Compression scheme

    Data batches are compressed using the zlib algorithm with best compression level.

    Genesis state

    The genesis file can be found here.

    Data format

    The format specification of Sequencer’s data batches can be found here.

    A diagram of the state validation
    A diagram of the state validation
    State root proposals

    Proposers submit state roots as children of any (possibly unresolved) previous state root proposal, by calling the propose() function in the KailuaTreasury. A parent state root can have multiple conflicting children, composing a tournament. Each proposer requires to lock a bond, currently set to 0.5 ETH, that can be slashed if any proposal made by them is proven incorrect via a fault proof or a conflicting validity proof. The bond can be withdrawn once the proposer has no more pending proposals that need to be resolved and was not eliminated.

    Proposals consist of a state root and a reference to their parent and implicitly challenge any sibling proposals who have the same parent. A proposal asserts that the proposed state root constitutes a valid state transition from the parent’s state root. To offer efficient zk fault proofs, each proposal must include 3600 intermediate state commitments, each spanning 6 L2 blocks.

    Proposals target sequential tournament epochs of currently 3600 * 6 L2 blocks. A tournament with a resolved parent tournament, a single child- and no conflicting sibling proposals can be resolved after 3d.

    The Vanguard is a privileged actor who can always make the first child proposal on a parent state root. They can, in the worst case, delay each tournament for up to 1mo by not making this first proposal. Sibling proposals made after the Vanguard’s initial one or after the 1mo vanguardAdvantage in each tournament are permissionless.

    • Funds can be frozen if the vanguard exploits their vanguard advantage (1mo), halting the chain until they propose.

    1. Sequencing - Kailua Docs
    2. Vanguard - Kailua Docs
    Challenges

    Any conflicting sibling proposals within a tournament that are made within the 3d challenge period of a proposal they are challenging, delay resolving the tournament until sufficient ZK proofs are published to leave one single tournament survivor.

    In the tree of proposed state roots, each parent node can have multiple children. These children are indirectly challenging each other in a tournament, which can only be resolved if but a single child survives. A state root can be resolved if it is the only remaining proposal due to any combination of the following elimination methods:

    1. the proposal’s challenge period of 3d has ended before a conflicting proposal was made
    2. the proposal is proven correct with a full validity proof (invalidates all conflicting proposals)
    3. a conflicting sibling proposal is proven faulty

    Proving any of the 3600 intermediate state commitments in a proposal faulty invalidates the entire proposal. Proving a proposal valid invalidates all conflicting siblings. Pruning of a tournament’s children happens strictly chronologically, which guarantees that the first faulty proposal of a given proposer is always pruned first. When pruned, an invalid proposal leads to the elimination of its proposer, which invalidates all their subsequent proposals, slashes their bond, and disallows future proposals by the same address. A slashed bond is transferred to an address chosen by the prover who caused the slashing.

    A single remaining child in a tournament can be ‘resolved’ and will be finalized and usable for withdrawals after an execution delay of 1d (time for the Guardian to manually blacklist malicious state roots).

    1. How to run a challenger - Boundless Docs
    2. Disputes - Kailua Book
    Validity proofs

    Validity proofs and fault proofs both must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.

    The Kailua state validation system is primarily optimistically resolved, so no validity proofs are required in the happy case. But two different zk proofs on unresolved state roots are possible and permissionless: The proveValidity() function proves a state root proposal’s full validity, automatically invalidating all conflicting sibling proposals. proveOutputFault() allows any actor to eliminate a state root proposal for which they can prove that any of the 3600 intermediate state transitions in the proposal are not correct. Both are zk proofs of validity, although one is used as an efficient fault proof to invalidate a single conflicting state transition.

    • Funds can be stolen if the validity proof cryptography is broken or implemented incorrectly.

    • Funds can be stolen if no challenger checks the published state.

    • Funds can be stolen if the proposer routes proof verification through a malicious or faulty verifier by specifying an unsafe route selector.

    • Funds can be frozen if a verifier needed for a given proof is paused by its permissioned owner.

    1. Kailua Proof System - Boundless Docs
    2. Verifier upgrade and deprecation - Kailua Docs
    PROVER

    Trusted Setups

    Used in

    Base Chain logoMegaETH logoRonin logoBOB logoTaiko Alethia logo

    Projects used in

    Search for projects used in

    Used in

    Base Chain logoMegaETH logoRonin logoBOB logoTaiko Alethia logo

    Projects used in

    Search for projects used in

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0xb2e2...c2bf
    BOB logo

    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
    48
    Last upgrade
    1d 8h ago
    Avg upgrade interval
    2mo 28d
    2026 July 08, 08:22 UTC
    High severity
    13changes

    Upgraded Kailua to v1.3.0 release, program hash reproduced. Also rotated ms member.

    contract KailuaVerifier (eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d) [N/A] {
    +++ description: None
    values.$implementation:
    - "eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e"
    + "eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43"
    values.$pastUpgrades.1:
    + ["2026-07-08T07:35:47.000Z","0x211cae5e55a0b57029752e11536fb7a4175d8059cb9d4ec37ca7e50d635809dd",["eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43"]]
    values.$upgradeCount:
    - 1
    + 2
    values.FPVM_IMAGE_ID:
    - "0x3768ea4f0e0d940f69c4cc5bd39a9e2772bfe3cb57818ce526bbe68033ee5934"
    + "0xb2e2b1513e80ea1e8f998e51bf8e7754eec21dbd0463e0b6b115165ba6bac2bf"
    values.ROLLUP_CONFIG_HASH:
    - "0x8afe7ad42347f5d9f9ad307825d14a39630504005cb998d5132dcd0d0485d64d"
    + "0x56ed6a78ed98a992a16a46513ee4ee496a86302a96d0f2bcee133c21351cd681"
    implementationNames.eth:0xF59DA245d3D69E5432Afd05008E8D332C1bfAb4e:
    - "KailuaVerifier"
    implementationNames.eth:0xC9934Db60031aDd319d008f8d643E3b723f28e43:
    + "KailuaVerifier"
    }
    contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {
    +++ description: None
    values.$members.4:
    - "eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f"
    + "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
    }
    2026 July 03, 09:58 UTC
    High severity
    55changes

    Upgrade to Kailua v1.2.0. - Vanguard advantage activated: previously 0s (disabled), now 1mo with a designated vanguard ( 0x7cB1022D… ). The vanguard can delay the first child proposal of each parent tournament by up to a month; sibling proposals stay permissionless (v1.2.0 retains the childCount() == 1 gate). - KailuaGame impl rotated (diff) — now holds a direct KAILUA VERIFIER reference (read once from the treasury at construction) and calls the verifier for proof checking. The vanguard gate is unchanged ( assignVanguard , vanguardAdvantage , childCount() == 1 ), but tournament payout economics were reworked (see below). - KailuaTreasury rotated (diff) — drops the RISC ZERO VERIFIER , FPVM IMAGE ID , and ROLLUP CONFIG HASH immutables (moved to KailuaVerifier) and holds a KAILUA VERIFIER reference instead. - KailuaVerifier (new in v1.2.0) — proxy-wrapped, holds the proof config that used to sit on KailuaTreasury, and replaces the previous RiscZeroVerifierRouter + emergency-stop path. Adds optional fault-proof permits: a prover can lock collateral to reserve an exclusive window for collecting the fault-proof reward (anti-front-run). On bob the permit window is effectively off ( PERMIT DELAY=0 , PERMIT DURATION=1 → 1-second active window); fault-proof submission remains permissionless. - Tournament payout economics reworked (independent of the vanguard gate). Slashed participation bonds now split 1/3 prover / 1/3 winner / 1/3 burn ( ELIMINATION SPLIT DENOM=3 , PROVER NUM=1 , WINNER NUM=1 ) accrued via eliminationRewards / winnerSharesByParent and claimed with claimEliminationRewards() , replacing the old full-bond claimEliminationBonds(uint256) / eliminations[] mechanic. And KailuaGame.getPayoutRecipient now routes the fault-proof reward through KAILUA VERIFIER.faultProofPermitBeneficiary before falling back to the fault/validity prover (inert on bob given the 1-second permit window). - New FPVM image ID deployed alongside the v1.2.0 contracts.

    contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {
    +++ description: A timelock with access control. The current minimum delay is 3d.
    values.accessControl.PROPOSER_ROLE.members.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.accessControl.CANCELLER_ROLE.members.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.accessControl.EXECUTOR_ROLE.members.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    +++ severity: HIGH
    values.callsExecuted.12:
    + {"id":"0x5fb8d6ab7b9ad6614a645faf85120306acf72c02bc66de00b027c8ec57eff377","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc10000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609"}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    +++ severity: HIGH
    values.callsExecuted.13:
    + {"id":"0x336fa76c82918a2642423bcae028021a204288e86965316b58737fb6e6a2d985","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e630000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609"}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    +++ severity: HIGH
    values.callsExecuted.14:
    + {"id":"0x0c0f9e544f5acb8eafdf44bbd4a1f21cde030970ad1f76c01504ff1c291f0e9d","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7830000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609"}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    +++ severity: HIGH
    values.callsExecuted.15:
    + {"id":"0x89a458a6781bd045d785361e429a3df71167dff9e14996fa5f98ca7c5eb9d4c3","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0xd547741fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412"}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    +++ severity: HIGH
    values.callsExecuted.16:
    + {"id":"0x4acc61e26f03e0270258c3fe8aec76d8ce5c80e8e100972e3091fc77c8882819","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0xd547741fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412"}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    +++ severity: HIGH
    values.callsExecuted.17:
    + {"id":"0xf239631e46b22677b2b8b3b35d3780a1de298d9234c6906ce98aa3168d52cc97","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0xd547741ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412"}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    values.callsScheduled.15:
    + {"id":"0x5fb8d6ab7b9ad6614a645faf85120306acf72c02bc66de00b027c8ec57eff377","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0x2f2ff15db09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc10000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609","predecessor":"0x0000000000000000000000000000000000000000000000000000000000000000","delay":259200}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    values.callsScheduled.16:
    + {"id":"0x336fa76c82918a2642423bcae028021a204288e86965316b58737fb6e6a2d985","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0x2f2ff15dd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e630000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609","predecessor":"0x0000000000000000000000000000000000000000000000000000000000000000","delay":259200}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    values.callsScheduled.17:
    + {"id":"0x0c0f9e544f5acb8eafdf44bbd4a1f21cde030970ad1f76c01504ff1c291f0e9d","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0x2f2ff15dfd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f7830000000000000000000000002e5bcc9959db5f5016f830e47943b07242cb2609","predecessor":"0x0000000000000000000000000000000000000000000000000000000000000000","delay":259200}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    values.callsScheduled.18:
    + {"id":"0x89a458a6781bd045d785361e429a3df71167dff9e14996fa5f98ca7c5eb9d4c3","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0xd547741fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412","predecessor":"0x0000000000000000000000000000000000000000000000000000000000000000","delay":259200}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    values.callsScheduled.19:
    + {"id":"0x4acc61e26f03e0270258c3fe8aec76d8ce5c80e8e100972e3091fc77c8882819","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0xd547741fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412","predecessor":"0x0000000000000000000000000000000000000000000000000000000000000000","delay":259200}
    +++ description: since the RiscZeroVerifierRouter does not emit events on verifier changes, we watch the single upstream permissioned address.
    values.callsScheduled.20:
    + {"id":"0xf239631e46b22677b2b8b3b35d3780a1de298d9234c6906ce98aa3168d52cc97","index":0,"target":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","value":0,"data":"0xd547741ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783000000000000000000000000f616a4f81857cfee54a4a049ec187172574bd412","predecessor":"0x0000000000000000000000000000000000000000000000000000000000000000","delay":259200}
    values.Canceller.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.Executor.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.Proposer.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    contract RiscZeroVerifierEmergencyStop (eth:0x1efDd13f831ceeEa14940806705A53D3211CD698) [risc0/RiscZeroVerifierEmergencyStop] {
    +++ description: A verifier wrapper for the eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9 that allows pausing (emergency stop) the verifier by its owner.
    values.owner:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    - Status: DELETED
    contract KailuaGame (eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF) [risc0/KailuaGame]
    +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.
    contract RiscZeroVerifierEmergencyStop (eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3) [risc0/RiscZeroVerifierEmergencyStop] {
    +++ description: A verifier wrapper for the eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97 that allows pausing (emergency stop) the verifier by its owner.
    values.owner:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {
    +++ description: None
    receivedPermissions:
    + [{"permission":"interact","from":"eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53","description":"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.","role":".vanguard"}]
    }
    contract RiscZeroVerifierEmergencyStop (eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782) [risc0/RiscZeroVerifierEmergencyStop] {
    +++ description: A verifier wrapper for the eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85 that allows pausing (emergency stop) the verifier by its owner.
    values.owner:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) [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.game1337:
    - "eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF"
    + "eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b"
    }
    - Status: DELETED
    contract KailuaTreasury (eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C) [risc0/KailuaTreasury]
    +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.
    contract RiscZeroVerifierEmergencyStop (eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696) [risc0/RiscZeroVerifierEmergencyStop] {
    +++ description: A verifier wrapper for the eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D that allows pausing (emergency stop) the verifier by its owner.
    values.owner:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    contract Bob Multisig 1 (eth:0xC91482A96e9c2A104d9298D1980eCCf8C4dc764E) [GnosisSafe] {
    +++ description: None
    receivedPermissions.9:
    + {"permission":"upgrade","from":"eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d","role":"admin"}
    }
    contract RiscZeroVerifierEmergencyStop (eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1) [risc0/RiscZeroVerifierEmergencyStop] {
    +++ description: A verifier wrapper for the eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF that allows pausing (emergency stop) the verifier by its owner.
    values.owner:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {
    +++ description: None
    receivedPermissions.0:
    - {"permission":"interact","from":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","description":"cancel queued transactions.","role":".Canceller"}
    receivedPermissions.1:
    - {"permission":"interact","from":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","description":"execute transactions that are ready.","role":".Executor"}
    receivedPermissions.2:
    - {"permission":"interact","from":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","description":"manage all access control roles.","role":".defaultAdminAC","via":[{"address":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","delay":259200}]}
    receivedPermissions.3:
    - {"permission":"interact","from":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","description":"propose transactions.","role":".Proposer"}
    receivedPermissions.4:
    - {"permission":"interact","from":"eth:0x1efDd13f831ceeEa14940806705A53D3211CD698","description":"pause the verifier.","role":".owner"}
    receivedPermissions.6:
    - {"permission":"interact","from":"eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3","description":"pause the verifier.","role":".owner"}
    receivedPermissions.7:
    - {"permission":"interact","from":"eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782","description":"pause the verifier.","role":".owner"}
    receivedPermissions.8:
    - {"permission":"interact","from":"eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319","description":"add/remove verifiers and the selectors they are mapped to.","role":".owner","via":[{"address":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","delay":259200}]}
    receivedPermissions.9:
    - {"permission":"interact","from":"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696","description":"pause the verifier.","role":".owner"}
    receivedPermissions.10:
    - {"permission":"interact","from":"eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1","description":"pause the verifier.","role":".owner"}
    directlyReceivedPermissions:
    - [{"permission":"act","from":"eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711","delay":259200,"role":".Executor"}]
    }
    + Status: CREATED
    contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]
    +++ description: None
    + Status: CREATED
    contract KailuaTreasury (eth:0x9937033Cc967eED9d753e31c77D2F146d002ae53) [risc0/KailuaTreasury]
    +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.
    + Status: CREATED
    contract KailuaVerifier (eth:0xa23bf38299bbCbAA01b9ea8a1d3412D9f405b97d) [N/A]
    +++ description: None
    + Status: CREATED
    contract KailuaGame (eth:0xD37b0BEdD9094988a31dBbB6BF77dC97269E742b) [risc0/KailuaGame]
    +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.
    2026 March 12, 13:06 UTC
    High severity
    20changes

    OptimismPortal2 and AnchorStateRegistry upgraded (same tx). proofMaturityDelaySeconds reduced from 604800 (7 days) to 86400 (1 day), disputeGameFinalityDelaySeconds from 302400 (3.5 days) to 86400 (1 day). Actual withdrawal time still depends on Kailua game resolution / proof timing. Templates still match — no new functionality, just constructor parameter changes baked into the new implementations. OptimismPortal2 diff: https://disco.l2beat.com/diff/eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202/eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287 AnchorStateRegistry diff: https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431

    contract OptimismPortal2 (eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E) {
    +++ description: 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 KailuaGame.
    values.$implementation:
    - "eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
    + "eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
    values.$pastUpgrades.10:
    + ["2026-03-12T10:39:35.000Z","0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",["eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"]]
    values.$upgradeCount:
    - 10
    + 11
    values.disputeGameFinalityDelaySeconds:
    - 302400
    + 86400
    values.proofMaturityDelaySeconds:
    - 604800
    + 86400
    implementationNames.eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202:
    - "OptimismPortal2"
    implementationNames.eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287:
    + "OptimismPortal2"
    }
    contract AnchorStateRegistry (eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c) {
    +++ description: 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 KailuaGame.
    values.$implementation:
    - "eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
    + "eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431"
    values.$pastUpgrades.1:
    + ["2026-03-12T10:39:35.000Z","0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",["eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431"]]
    values.$upgradeCount:
    - 1
    + 2
    values.disputeGameFinalityDelaySeconds:
    - 302400
    + 86400
    implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:
    - "AnchorStateRegistry"
    implementationNames.eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431:
    + "AnchorStateRegistry"
    }
    2026 March 06, 10:03 UTC
    High severity
    6changes

    New KailuaGame and KailuaTreasury instances deployed with the same implementation code (identical source hashes). The ROLLUP CONFIG HASH changed (0x4910...→0x69d9...) in preparation for BOB's Jovian hardfork activation on March 12, 2026 (mainnet timestamp 1773325801). The Kailua config hash includes hardfork timestamps, so adding jovian time changes the hash. Ref: https://github.com/bob-collective/bob/pull/960. The KailuaTreasury L2 BLOCK NUMBER also advanced (29576476→29835945). KailuaGame diff: https://disco.l2beat.com/diff/eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a/eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF KailuaTreasury diff: https://disco.l2beat.com/diff/eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895/eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C

    contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {
    +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.
    +++ severity: HIGH
    values.game1337:
    - "eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a"
    + "eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF"
    }
    - Status: DELETED
    contract KailuaGame (eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a)
    +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.
    - Status: DELETED
    contract KailuaTreasury (eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895)
    +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.
    + Status: CREATED
    contract KailuaGame (eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF)
    +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.
    + Status: CREATED
    contract KailuaTreasury (eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C)
    +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.
    2026 February 26, 22:02 UTC
    High severity
    7changes

    BOB's Kailua dispute system was updated with new KailuaGame and KailuaTreasury contract instances. The DisputeGameFactory's game1337 implementation changed from 0xe4341585 to 0xe34577E7. The new KailuaTreasury (0xE99AF5F4) retains the 0.5 ETH participation bond but has no vanguard advantage set (previously 1 month). The source code change is the addition of an OP-Contracts v5 compatibility shim: an anchorStateRegistry() function that returns msg.sender , allowing withdrawals under op-contracts v5.0.0. The FPVM image ID also updated (0xf176eb82 → 0x4aca4abd), indicating a new ZK verification image for the RISC Zero prover. KailuaGame diff: https://disco.l2beat.com/diff/eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b/eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a KailuaTreasury diff: https://disco.l2beat.com/diff/eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420/eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895

    - Status: DELETED
    contract KailuaTreasury (eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420)
    +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.
    EOA (eth:0x7cB1022D30b9860C36b243E7B181A1d46f618C69) {
    +++ description: None
    receivedPermissions:
    - [{"permission":"interact","from":"eth:0x6F27A23Fc28C18EB2C268BFe1d575E051Ad94420","description":"propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock.","role":".vanguard"}]
    }
    contract DisputeGameFactory (eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079) {
    +++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.
    +++ severity: HIGH
    values.game1337:
    - "eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b"
    + "eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a"
    }
    - Status: DELETED
    contract KailuaGame (eth:0xe4341585B9BbC55A44C20A3C037058891e7A053b)
    +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.
    + Status: CREATED
    contract KailuaGame (eth:0xe34577E7d8bbdf044de236B15DF132B1409ca82a)
    +++ description: Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.
    + Status: CREATED
    contract KailuaTreasury (eth:0xE99AF5F4C60E06Beb3827F4ffdD06E88c55fB895)
    +++ description: Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.

    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 1d. Withdrawal inclusion can be proven before state root settlement, but a 1d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 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:

    Bob Multisig 10xC914…764E

    A Multisig with 4/6 threshold.

    • Can upgrade with no delay
      • DelayedWETH
      • L1StandardBridge
      • OptimismMintableERC20Factory
      • L1ERC721Bridge
      • OptimismPortal2
      • DisputeGameFactory
      • KailuaVerifier
      • SystemConfig
      • AnchorStateRegistry
      • L1CrossDomainMessenger
      • SuperchainConfig
    • 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 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)
    • Can interact with AddressManager
      • set and change address mappings

    A Multisig with 3/5 threshold.

    • Can interact with TimelockController
      • cancel queued transactions
      • execute transactions that are ready
      • manage all access control roles with 3d delay
      • propose transactions
    • Can interact with RiscZeroVerifierEmergencyStop
    • Can interact with RiscZeroVerifierEmergencyStop
    • Can interact with RiscZeroVerifierEmergencyStop
    • Can interact with RiscZeroVerifierRouter
      • add/remove verifiers and the selectors they are mapped to with 3d delay
    • Can interact with RiscZeroVerifierEmergencyStop
    • Can interact with RiscZeroVerifierEmergencyStop
    Used in:
    • Can interact with SystemConfig
      • Allowed to commit transactions from the current layer to the host chain
    • Can interact with KailuaTreasury
      • propose new state roots before anyone else, giving a first-mover advantage on the optimistic clock
    • Can interact with RiscZeroVerifierEmergencyStop
    Used in:
    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

    RiscZeroGroth16Verifier0x20ff…8E97

    Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).

    Implementation used in:
    RiscZeroGroth16Verifier0x2a09…a84D

    Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).

    Implementation used in:
    RiscZeroGroth16Verifier0x54aC…B9bF

    Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).

    Implementation used in:

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

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1
    The following tokens are included in the value secured calculation:
    ETH token logo
    Can be upgraded by:

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

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1
    Can be upgraded by:
    Implementation used in:

    Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1
      • batcherHash: EOA 1
      • owner: Bob Multisig 1
    Can be upgraded by:
    Implementation used in:
    RiscZeroGroth16Verifier0xafB3…9df9

    Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).

    Implementation used in:
    RiscZeroGroth16Verifier0xf70a…E93C

    Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.

    Implementation used in:

    This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages 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 3mo 1d if left untouched.

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1
      • guardian: Bob Multisig 1
    Can be upgraded by:
    Implementation used in:

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

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1

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

    Can be upgraded by:
    Implementation used in:

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

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1
    Can be upgraded by:
    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 Bob Multisig 1
    Can be upgraded by:
    Implementation used in:

    Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.

    The following tokens are included in the value secured calculation:
    wstETH token logo
    TimelockController0x0b14…b711

    A timelock with access control. The current minimum delay is 3d.

    • Roles:
      • canceller: Safe
      • defaultAdmin: TimelockController; ultimately Safe
      • executor: Safe
      • proposer: Safe
    Implementation used in:
    ProxyAdmin0x0d9f…7Cd0
    • Roles:
      • owner: Bob Multisig 1
    PermissionedDisputeGame0x15F8…d19A

    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 Bob Multisig 1
    Can be upgraded by:
    Implementation used in:
    RiscZeroVerifierEmergencyStop0x1efD…D698

    A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.

    • Roles:
      • owner: Safe
    Implementation used in:
    PreimageOracle0x1fb8…aDD3

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

    Implementation used in:
    RiscZeroVerifierEmergencyStop0x44c2…33e7

    A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.

    • Roles:
      • owner: EOA 3
    Implementation used in:
    RiscZeroSetVerifier0x5005…EB85

    Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.

    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 Bob Multisig 1
    Can be upgraded by:
    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:
    RiscZeroVerifierEmergencyStop0x68dC…40E3

    A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.

    • Roles:
      • owner: Safe
    Implementation used in:
    RiscZeroVerifierEmergencyStop0x844D…F782

    A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.

    • Roles:
      • owner: Safe
    Implementation used in:
    RiscZeroVerifierRouter0x8EaB…D319

    A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).

    • Roles:
      • owner: TimelockController; ultimately Safe
    Implementation used in:
    KailuaTreasury0x9937…ae53

    Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 1mo.

    • Roles:
      • vanguard: EOA 2
    RiscZeroVerifierEmergencyStop0x9F99…e696

    A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.

    • Roles:
      • owner: Safe
    Implementation used in:
    • Roles:
      • admin: Bob Multisig 1
    Can be upgraded by:
    ProxyAdmin0xa70d…3E1c
    • Roles:
      • owner: Bob Multisig 1

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

    • Roles:
      • admin: ProxyAdmin; ultimately Bob Multisig 1
    Can be upgraded by:
    KailuaGame0xD37b…742b

    Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.

    RiscZeroVerifierEmergencyStop0xDa8f…B2b1

    A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.

    • Roles:
      • owner: Safe
    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
    0xb2e2...c2bf
    BOB logo