Search

Search for projects by name or address

Taiko Alethia logo
Taiko Alethia

Badges

About

Taiko Alethia is an Ethereum-equivalent rollup on the Ethereum network. Taiko aims at combining based sequencing and a multi-proof system through SP1, RISC0 and TEEs.


  • Total Value SecuredTVS
    $16.31 M3.85%
  • Past day UOPSDaily UOPS
    0.6827.4%
  • Gas token
    ETH
  • Type
    Other

  • Purpose
    Universal
  • Chain ID
    167000

  • Tokens breakdown

    Sequencer failureState validationData availabilityExit windowProposer failure

    Badges

    About

    Taiko Alethia is an Ethereum-equivalent rollup on the Ethereum network. Taiko aims at combining based sequencing and a multi-proof system through SP1, RISC0 and TEEs.

    Why is the project listed in others?

    The proof system isn't fully functional

    Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.

    Learn more about the recategorisation here.


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

    ETH & derivatives
    Stablecoins
    BTC & derivatives
    Other

    2025 May 28 — 2026 May 28

    Past Day UOPS
    0.6827.4%
    Past Day Ops count
    59.00 K
    Max. UOPS
    57.89
    2024 Nov 04
    Past day UOPS/TPS Ratio
    1.00

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


    2025 May 28 — 2026 May 28


    Total cost
    $475.28 K
    Avg cost per L2 UOP
    $0.003744
    Avg cost per day
    $1.29 K

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


    2026 Apr 02 — May 28


    Data posted
    1.55 GiB
    Avg size per day
    27.38 MiB
    Avg size per L2 UOP
    571.33 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

    Avg. tx data subs. interval
    Avg. state updates interval
    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 Tx data submissions were performed for 10min (from 2026 May 29, 17:44 UTC until 2026 May 29, 17:54 UTC). These typically occur every 6min 24s on average.

    Preconfs introduction

    2025 Aug 11th

    Taiko implements preconfs - whitelisted actors provide fast soft confirmations for L2 txs.

    Learn more

    Plonky3 vulnerability patch

    2025 Jun 4th

    SP1 verifier is patched to fix critical vulnerability in Plonky3 proof system (SP1 dependency).

    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 1d 1h delay on this operation.

    State validation
    Multi-proofs

    A multi-proof system is used. There are four verifiers available: SGX (Geth), SGX (Reth), SP1 and RISC0. Two of them must be used to prove a proposal range, and SGX (Geth) is mandatory. The end state root is supplied during the prove call and is checked against the accompanying SGX/zkVM proof. Proving is currently gated by ProverWhitelist, which has 2 whitelisted provers in discovery, and becomes permissionless only after an unproven proposal is > 5d old.

    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

    Anyone can propose after 1d 1h if forced inclusions are ignored, and proving becomes permissionless after 5d if a proposal remains unproven.

    Taiko Alethia
    Taiko Alethia is not even a
    Stage 0
    project.

    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 blobs. This ensures that it will be available for enough time.

    Learn more about the DA layer here: Ethereum logoEthereum
    Validity proofs

    Taiko uses a multi-proof system to validate state transitions. The system requires two proofs among four available verifiers: SGX (Geth), SGX (Reth), SP1, and RISC0. This means that a proposal range can be proven without providing a ZK proof if SGX (Geth) and SGX (Reth) are used together. New proposals target a proof submission cadence of 4h. Proving is currently centralized behind ProverWhitelist with 2 whitelisted provers. Non-whitelisted actors must wait 5d before the whitelist is dropped, and MainnetInbox currently sets minBond=0 and livenessBond=0. The multi-proof system allows detecting bugs in the verifiers if they produce different results for the same proposal range. If such a bug is detected, the system gets automatically paused.

    • Funds can be stolen if a malicious block is proven by compromised SGX instances.

    1. MainnetInbox.sol - Etherscan source code, getConfig function
    2. MainnetInbox.sol - Etherscan source code, prove function
    3. ProverWhitelist.sol - Etherscan source code

    Program Hashes

    Name
    Hash
    Repository
    Verification
    Used in
    0x0026...06e7
    Taiko Alethia logo
    0x137f...06e7
    Taiko Alethia logo
    0x008e...bfe7
    Taiko Alethia logo
    0x4712...bfe7
    Taiko Alethia logo
    0x0079...82f8
    Taiko Alethia logo
    0x3cb4...82f8
    Taiko Alethia logo
    0x0002...0c7c
    Taiko Alethia logo
    0x0156...0c7c
    Taiko Alethia logo
    0x779c...2544
    Taiko Alethia logo
    0x26ab...cee7
    Taiko Alethia logo
    0x46ef...727b
    Taiko Alethia logo
    0xdfbc...039e
    Taiko Alethia logo
    A diagram of the upgrades and governance
    A diagram of the upgrades and governance

    Taiko Alethia has a governance structure relying primarily on a 7/9 Security Council, checked by a token DAO that is limited to veto permissions. The closed operator whitelists are managed by the 4/6 Taiko Multisig and related EOAs. Governance proposals (both paths) hold all important upgrade and config permissions in the system.

    Standard proposals

    A threshold of 5 approving Security Council members is required to create a Standard proposal. It is delayed while being publicly auditable by 7d in the OptimisticTokenVotingPlugin contract and can be vetoed by 10% of votable TAIKO tokens during that time. If not vetoed, the standard proposal passes and can be executed.

    Emergency proposals

    Emergency proposals are encrypted at proposal time and can only be read by Security Council members. If approved by 7 Security Council members, they can be immediately decrypted and executed.

    Proof system and operators

    The proof system currently does not require zk proofs to validate state transitions and state can be finalized with SGX proofs only. The optional zk verifier contracts can be upgraded by Multisigs. Operator roles (sequencer, proposer) are closed and the whitelist is managed by the Taiko Multisig and related EOAs.

    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
    61
    Last upgrade
    29d 7h ago
    Avg upgrade interval
    3mo 20d
    2026 May 28, 10:13 UTC
    12changes

    EOA removed from the Risc0 timelock accessControl (Multisig remains). One SC signer changed their local ms signer.

    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"
    values.accessControl.CANCELLER_ROLE.members.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    values.accessControl.EXECUTOR_ROLE.members.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    values.Canceller.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    values.Executor.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    values.Proposer.0:
    - "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412"
    }
    contract Taiko Multisig (eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F) [GnosisSafe] {
    +++ description: None
    values.$members.4:
    - "eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438"
    + "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10"
    }
    contract Gustavo Gonzalez Taiko (eth:0xb47fE76aC588101BFBdA9E68F66433bA51E8029a) [GnosisSafe] {
    +++ description: None
    values.$members.3:
    - "eth:0x30bc4C0Baf55A37Ccf2d626Bc592bd7715b75De2"
    + "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10"
    }
    contract ProverWhitelist (eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae) [taiko/ProverWhitelist] {
    +++ description: Defines the whitelist of addresses allowed to prove proposals. Non-whitelisted provers must wait for the permissionless proving delay before they can submit proofs.
    values.proverCount:
    - 1
    + 2
    }
    2026 May 21, 09:20 UTC
    4changes

    Risc0 emergency stop moved from EOA to multisig.

    contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe] {
    +++ description: None
    receivedPermissions.5:
    + {"permission":"interact","from":"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696","description":"pause the verifier.","role":".owner"}
    }
    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"
    }
    EOA (eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412) {
    +++ description: None
    receivedPermissions.5:
    - {"permission":"interact","from":"eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696","description":"pause the verifier.","role":".owner"}
    }
    2026 May 19, 06:52 UTC
    High severity
    5changes

    config related: add taiko gov details. new proposal queued: raiko2, updates program hashes

    contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) [taiko/OptimisticTokenVotingPlugin] {
    +++ description: An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.
    values.proposalCount:
    - 30
    + 31
    values.proposalIds.30:
    + "605401718776602992082262606618382736114237571102"
    }
    contract Multisig (eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321) [taiko/Multisig] {
    +++ description: Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).
    +++ description: total standard proposal count.
    +++ severity: HIGH
    values.proposalCount:
    - 19
    + 20
    }
    2026 May 13, 12:24 UTC
    12changes

    RiscZeroVerifierRouter: add new multisig as ac admin (was EOA-only before). L2BEAT removes one safe member from the SC safe. config related: ignore anchor details

    contract TimelockController (eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711) [global/TimelockController] {
    +++ description: A timelock with access control. The current minimum delay is 3d.
    values.accessControl.PROPOSER_ROLE.members.1:
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.accessControl.CANCELLER_ROLE.members.1:
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.accessControl.EXECUTOR_ROLE.members.1:
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.Canceller.1:
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.Executor.1:
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    values.Proposer.1:
    + "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
    }
    contract L2BEAT (eth:0xf1cF63589A1e012F9124182c9eAa36B5333e5f06) [GnosisSafe] {
    +++ description: None
    values.$members.2:
    - "eth:0x166868E5AE72592a06056775236d2E4D64CDcCa9"
    values.multisigThreshold:
    - "2 of 3 (67%)"
    + "2 of 2 (100%)"
    }
    contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {
    +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.
    values.operatorMapping.1:
    - "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990"
    values.operatorMapping.2:
    + "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990"
    }
    + Status: CREATED
    contract Safe (eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609) [GnosisSafe]
    +++ description: None
    2026 May 05, 06:43 UTC
    High severity
    93changes

    two proposals are executed: - emergency, clean up before cleanup: https://dao.taiko.xyz/plugins/community-proposals/ /proposals/29 - prop 28, clean up after shasta: https://dao.taiko.xyz/plugins/community-proposals/ /proposals/28 no significant changes.

    contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) {
    +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).
    +++ description: The total count of encrypted emergency proposals created.
    values.proposalCount:
    - 28
    + 29
    }
    contract Taiko Foundation Treasury Multisig (eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da) {
    +++ description: None
    values.$members.1:
    - "eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438"
    + "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10"
    }
    contract TaikoDAOController (eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a) {
    +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.
    directlyReceivedPermissions.6:
    + {"permission":"interact","from":"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C","description":"pause and unpause proofs and verification.","role":".owner"}
    }
    contract OptimisticTokenVotingPlugin (eth:0x989E348275b659d36f8751ea1c10D146211650BE) {
    +++ description: An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.
    values.proposalCount:
    - 29
    + 30
    values.proposalIds.29:
    + "604873005729564317786488715670244117998223753245"
    }
    contract DAO (eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261) {
    +++ description: The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.
    receivedPermissions.6:
    + {"permission":"interact","from":"eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C","description":"pause and unpause proofs and verification.","role":".owner","via":[{"address":"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"}]}
    }
    contract SignalService (eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C) {
    +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.
    name:
    - "SignalServiceForkRouter"
    + "SignalService"
    template:
    - "taiko/SignalServiceForkRouter"
    + "taiko/SignalService"
    sourceHashes.1:
    - "0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50"
    + "0x9da4ee2d38b5914e0408dd1d413eef87e7f2ae62c6ca8240e657f4cc8cfaa84c"
    description:
    - "Routes to the Shasta SignalService post shasta fork."
    + "Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs."
    values.$implementation:
    - "eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6"
    + "eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
    values.$pastUpgrades.9:
    + ["2026-04-30T15:14:11.000Z","0xfcd6ca82025b847a3508db2d3c82327a19e3c4afda867acae8c09da147667036",["eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"]]
    values.$upgradeCount:
    - 9
    + 10
    values.newFork:
    - "eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
    values.oldFork:
    - "eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c"
    values.shastaForkTimestamp:
    - 1775135700
    values.impl:
    + "eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
    values.inNonReentrant:
    + false
    values.paused:
    + false
    values.resolver:
    + "eth:0x0000000000000000000000000000000000000000"
    implementationNames.eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6:
    - "SignalServiceForkRouter"
    implementationNames.eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752:
    + "SignalService"
    category:
    - {"name":"Spam","priority":-1}
    }
    - Status: DELETED
    contract SignalService (eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752)
    +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.
    contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) {
    +++ description: Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.
    values.operatorMapping.1:
    + "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990"
    values.operatorMapping.2:
    + "eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7"
    }
    EOA (taiko:0x0000000000000000000000000000000000000000) {
    +++ description: None
    receivedPermissions:
    - [{"permission":"interact","from":"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28","description":"pause and unpause proofs and verification.","role":".owner"}]
    }
    contract SignalService (taiko:0x1670000000000000000000000000000000000005) {
    +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.
    name:
    - "SignalServiceForkRouter"
    + "SignalService"
    template:
    - "taiko/SignalServiceForkRouter"
    + "taiko/SignalService"
    sourceHashes.1:
    - "0x48d2edc5c332edbe5587795ecd9c72063d865a58d79f71e4fc30e28e91e88c50"
    + "0x9da4ee2d38b5914e0408dd1d413eef87e7f2ae62c6ca8240e657f4cc8cfaa84c"
    description:
    - "Routes to the Shasta SignalService post shasta fork."
    + "Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs."
    values.$implementation:
    - "taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb"
    + "taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28"
    values.$pastUpgrades.2:
    + ["2026-04-30T15:37:12.000Z","0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de",["taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28"]]
    values.$upgradeCount:
    - 2
    + 3
    values.newFork:
    - "taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28"
    values.oldFork:
    - "taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762"
    values.shastaForkTimestamp:
    - 1775135700
    values.impl:
    + "taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28"
    values.inNonReentrant:
    + false
    values.paused:
    + false
    values.resolver:
    + "taiko:0x0000000000000000000000000000000000000000"
    implementationNames.taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb:
    - "SignalServiceForkRouter"
    implementationNames.taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28:
    + "SignalService"
    category:
    - {"name":"Spam","priority":-1}
    }
    contract Anchor (taiko:0x1670000000000000000000000000000000010001) {
    +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.
    name:
    - "AnchorForkRouter"
    + "Anchor"
    template:
    - "taiko/AnchorForkRouter"
    + "taiko/Anchor"
    sourceHashes.1:
    - "0x457bd8a81361da7cd33cf0749e16158c846ae643a1a69451a84aaac7f62cc16b"
    + "0xd28d4f02b54957df5dd4894f6b101e59efaea4c568ce8ea8f87870f81cd977f1"
    description:
    - "Routes to the Shasta Anchor contract post shasta fork."
    + "Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations."
    values.$implementation:
    - "taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585"
    + "taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA"
    values.$pastUpgrades.6:
    + ["2026-04-30T15:37:12.000Z","0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de",["taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA"]]
    values.$upgradeCount:
    - 6
    + 7
    values.newFork:
    - "taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA"
    values.oldFork:
    - "taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0"
    values.ANCHOR_GAS_LIMIT:
    + 1000000
    values.checkpointStore:
    + "taiko:0x1670000000000000000000000000000000000005"
    values.getBlockState:
    + {"anchorBlockNumber":25027058,"ancestorsHash":"0x49a7e51364da6ffb3d3bfd3469fa64d0adce9ee57c8bdb658ca014229605b199"}
    values.GOLDEN_TOUCH_ADDRESS:
    + "taiko:0x0000777735367b36bC9B61C50022d9D0700dB4Ec"
    values.impl:
    + "taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA"
    values.inNonReentrant:
    + false
    values.l1ChainId:
    + 1
    values.paused:
    + false
    values.resolver:
    + "taiko:0x0000000000000000000000000000000000000000"
    implementationNames.taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585:
    - "AnchorForkRouter"
    implementationNames.taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA:
    + "Anchor"
    category.name:
    - "Spam"
    + "Local Infrastructure"
    category.priority:
    - -1
    + 5
    }
    - Status: DELETED
    contract SignalService (taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28)
    +++ description: Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications to prove that a specific L2 signal or state transition occurred via Merkle proofs.
    - Status: DELETED
    contract Anchor (taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA)
    +++ description: Immutable L2 contract that anchors L1 block details to L2 for cross-layer communication and manages EIP-1559 gas pricing for L2 operations.
    contract DelegateController (taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C) {
    +++ description: Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.
    directlyReceivedPermissions.1:
    + {"permission":"interact","from":"taiko:0x1670000000000000000000000000000000000005","description":"pause and unpause proofs and verification.","role":".owner"}
    }
    + Status: CREATED
    contract Safe (eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10)
    +++ description: None

    The system uses whitelist-based sequencing and proving

    The system uses a whitelist-based sequencing mechanism to allow for fast preconfirmations on the L2. On the L1, whitelisted preconfirmers can propose Taiko L2 data to the MainnetInbox contract. The whitelist is managed by the PreconfWhitelist contract, which currently has 3 active operators registered. Forced inclusions become mandatory after 9m 36s and proposing becomes permissionless after 1d 1h if the queue is still ignored. Proving is controlled separately by ProverWhitelist, which currently has 2 whitelisted provers. Non-whitelisted actors must wait 5d after an unproven proposal before the whitelist is dropped. MainnetInbox currently sets minBond=0 and livenessBond=0. Currently, proving a proposal requires SGX (Geth), plus either SGX (Reth), SP1, or RISC0.

    • MEV can be extracted if the operator exploits their centralized position and frontruns user transactions.

    1. MainnetInbox.sol - Etherscan source code, propose function
    2. MainnetInbox.sol - Etherscan source code, prove function
    3. PreconfWhitelist.sol - Etherscan source code
    4. ProverWhitelist.sol - Etherscan source code

    Users can force any transaction via L1

    Users can submit a blob reference containing a standalone transaction by calling the saveForcedInclusion() function on the MainnetInbox contract. Once any forced inclusion has been queued for 9m 36s, whitelisted proposers cannot submit new proposals unless they process all due forced inclusions. If the oldest queued forced inclusion is still ignored for 1d 1h, proposing becomes permissionless and anyone can include it.

    1. MainnetInbox.sol - Etherscan source code, saveForcedInclusion function
    2. MainnetInbox.sol - Etherscan source code, propose function

    Regular exit

    The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is finalized the funds become available for withdrawal on L1. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.

    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Roles:

    Allowed to commit transactions from the current layer to the host chain.

    Actors:

    SignerList (Security Council)0x0F95…79c2

    A Multisig with 7/9 threshold. A signer list for storing multisig members and their agents, stores the addresses of the Multisigs that use this signer list. Each signer delegates their permissions to their agent address that they can configure here.

    • Can upgrade with 7d delay
      • AutomataDcapV3Attestation
      • Taiko Token
      • MainnetInbox
      • TaikoDAOController
      • AutomataDcapV3Attestation
      • QuotaManager
      • MainnetERC20Vault
      • DAO
      • SignalService
      • MainnetBridge
      • ProverWhitelist
      • L1SharedAddressManager
      • TaikoDAOController
      • PreconfWhitelist
      • Bridge
      • ERC20Vault
      • SignalService
      • L2AddressManager
      • Anchor
      • DelegateController
    • Can interact with TaikoRisc0Verifier
      • update the trusted image ids with 7d delay
    • Can interact with SgxVerifier
      • can add new instances without a DCAP attestation with 7d delay
    • Can interact with SignerList (Security Council)
      • add/remove members from the Security Council and change its minimum size with 7d delay
    • Can interact with AutomataDcapV3Attestation
      • can update the program being verified with 7d delay
    • Can interact with EmergencyMultisig
      • manage critical settings (e.g. threshold and multisig settings) for the emergency proposal governance path with 7d delay
    • Can interact with MainnetInbox
      • pause and unpause the rollup system with 7d delay
    • Can interact with AutomataDcapV3Attestation
      • can update the program being verified with 7d delay
    • Can interact with TaikoSP1Verifier
      • manage trusted program hashes with 7d delay
    • Can interact with OptimisticTokenVotingPlugin
      • manage critical settings (e.g. thresholds, delays and proposal acceptance criteria) for all governance proposals with 7d delay
    • Can interact with DAO
      • define all permissions of the central DAO smart contract with 7d delay
    • Can interact with SignalService
      • pause and unpause proofs and verification with 7d delay
    • Can interact with SgxVerifier
      • can add new instances without a DCAP attestation with 7d delay
    • Can interact with Multisig
      • manage critical settings (e.g. threshold and multisig settings) for the standard proposal governance path with 7d delay
    • Can interact with ProverWhitelist
      • manage the prover whitelist with 7d delay
    • Can interact with L1SharedAddressManager
      • can update the contract address for a given name with 7d delay
    • Can interact with PreconfWhitelist
      • pause/unpause, manage operator and ejector roles with 7d delay
    • Can interact with SignalService
      • pause and unpause proofs and verification with 7d delay
    • Can interact with L2AddressManager
      • can update the contract address for a given name with 7d delay
    Taiko Multisig0x9CBe…9C7F

    A Multisig with 4/6 threshold.

    • Can interact with ProverWhitelist
    • Can interact with PreconfWhitelist
      • manage the ejecter role

    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 RiscZeroVerifierRouter
      • add/remove verifiers and the selectors they are mapped to with 3d delay
    • Can interact with RiscZeroVerifierEmergencyStop
    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:
    Taiko Foundation Treasury Multisig0x363e…B3Da

    A Multisig with 2/3 threshold.

    A Multisig with 1/2 threshold. Member of Taiko Foundation Treasury Multisig, Taiko Multisig, Gustavo Gonzalez Taiko.

    Participants (2):

    0x4757…45c30x7057…595C
    • Can interact with PreconfWhitelist
      • add/remove operators
    Halborn Agent0x1d95…F556

    Member of Halborn, SignerList (Security Council).

    Member of Gattaca.

    Toni Wahrstätter Agent0x9353…61a6

    Member of SignerList (Security Council), Toni Wahrstätter.

    Member of Halborn.

    Gattaca Agent0xc441…1619

    Member of SignerList (Security Council), Gattaca.

    Member of Toni Wahrstätter.

    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

    TaikoRisc0Verifier0x059d…Cd8b

    Gating router contract to verify batches using RISC Zero.

    The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. It manages bonds, validates batch parameters, and acts as the state machine for the L2.

    TaikoSP1Verifier0x9633…05f6

    Gating router contract to verify batches using SP1.

    MainnetVerifier0x9cAa…665d

    Enforces the Taiko Multiprover policy and routes to the downstream router contracts.

    Defines the whitelist of addresses allowed to prove proposals. Non-whitelisted provers must wait for the permissionless proving delay before they can submit proofs.

    • Roles:
      • admin: TaikoDAOController; ultimately SignerList (Security Council)
      • owner: TaikoDAOController; ultimately SignerList (Security Council)
      • proverManager: Taiko Multisig

    Shared vault for Taiko chains for bridged ERC20 tokens.

    Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum. Member of Taiko Foundation Treasury Multisig.

    The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.

    • Roles:
      • currentSignerListPermissions: SignerList (Security Council) (emergency proposals bypass the delay)
      • daoPermissions: DAO; ultimately SignerList (Security Council)

    Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.

    SP1Verifier0x0459…C459

    Verifier contract for SP1 proofs (v5.0.0).

    Implementation used in:
    SgxVerifier0x0856…97F1

    Verifier contract for SGX proven blocks.

    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:

    Contract managing SGX attestation certificates.

    ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.

    RiscZeroGroth16Verifier0x2a09…a84D

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

    Implementation used in:

    Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).

    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:

    Contract managing SGX attestation certificates.

    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:

    Defines withdrawal limits per token.

    An optimistic governance module. Standard proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d. Emergency proposals can be executed without delay.

    Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications like the bridge escrows to prove that a specific L1<->L2 signal or state transition occurred via Merkle proofs.

    RiscZeroVerifierEmergencyStop0x9F99…e696

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

    • Roles:
      • owner: Safe
    Implementation used in:
    SgxVerifier0xa101…68F6

    Verifier contract for SGX proven blocks.

    SP1Verifier0xc3c6…AF2A
    Implementation used in:

    Shared bridge escrow for Taiko chains for bridged ETH.

    Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).

    Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.

    Contains the whitelist of addresses allowed to propose batches on L1 and issue preconfirmations. It dynamically selects a single operator for a given epoch using the Ethereum beacon block root as a source of randomness.

    • Roles:
      • _ejectorManager: Taiko Multisig
      • admin: TaikoDAOController; ultimately SignerList (Security Council)
      • ejecters: EOA 2, EOA 4
      • operatorMapping: EOA 1, EOA 5, EOA 7
      • owner: TaikoDAOController; ultimately SignerList (Security Council)

    Taiko Alethia

    Stores L1 block details on L2 as a cross-layer oracle and manages EIP-1559 gas pricing for L2 operations.

    Middleware contract that can maintain ownership of DAO-controlled assets and contracts. It can only be invoked by the TaikoDAOController on L1 through the L2 bridge.

    • Roles:
      • admin: DelegateController; ultimately SignerList (Security Council)
      • daoController: TaikoDAOController

    Bridge escrow holding preminted ETH on Taiko.

    Escrow for L2-native tokens sent to L1 via the canonical bridge.

    Facilitates secure cross-chain message passing by storing signals (messages) and state root checkpoints. It allows applications like the bridge escrows to prove that a specific L1<->L2 signal or state transition occurred via Merkle proofs.

    Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.

    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
    0x0026...06e7
    Taiko Alethia logo
    0x137f...06e7
    Taiko Alethia logo
    0x008e...bfe7
    Taiko Alethia logo
    0x4712...bfe7
    Taiko Alethia logo
    0x0079...82f8
    Taiko Alethia logo
    0x3cb4...82f8
    Taiko Alethia logo
    0x0002...0c7c
    Taiko Alethia logo
    0x0156...0c7c
    Taiko Alethia logo
    0x779c...2544
    Taiko Alethia logo
    0x26ab...cee7
    Taiko Alethia logo
    0x46ef...727b
    Taiko Alethia logo
    0xdfbc...039e
    Taiko Alethia logo