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
    $10.97 M7.97%
  • Past day UOPSDaily UOPS
    0.545.01%
  • 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 Jul 30 — 2026 Jul 30

    Past Day UOPS
    0.545.01%
    Past Day Ops count
    46.55 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 Jul 30 — 2026 Jul 30


    Total cost
    $251.22 K
    Avg cost per L2 UOP
    $0.005461
    Avg cost per day
    $688.30

    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 — Jul 30


    Data posted
    3.04 GiB
    Avg size per day
    26.15 MiB
    Avg size per L2 UOP
    591.57 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 30 — Jul 30

    Avg. tx data subs. interval
    8 minutes
    Avg. state updates interval
    32 minutes
    Past 30 days anomalies
    100% 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 7d 23h 7m (from 2026 Jun 22, 02:10 UTC until 2026 Jun 30, 01:17 UTC). These typically occur every 6min 23s on average.

    No State updates were performed for 7d 12h 39m (from 2026 Jun 22, 02:10 UTC until 2026 Jun 29, 14:49 UTC). These typically occur every 31min 43s on average.

    Proof system exploit

    2026 Jun 22nd

    An attacker exploits a vulnerability in the SGX proof system and steals USD ~1.7M.

    Learn more

    Preconfs introduction

    2025 Aug 11th

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

    Learn more
    Sequencer failureState validationData availabilityExit windowProposer failure
    Sequencer failure
    No mechanism

    There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled. Forced inclusions are disabled in the current MainnetInbox implementation, so sequencer failure or censorship leads to non-inclusion.

    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. While the whitelist is non-empty, non-whitelisted actors cannot submit proofs.

    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
    Cannot withdraw

    Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. Proposing is gated by PreconfWhitelist, which selects a single active operator for the current epoch and has no fallback proposer path.

    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. While the whitelist is non-empty, non-whitelisted actors cannot submit proofs, and the configured permissionless proving delay is not used to open proving. 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
    0x0075...487e
    Taiko Alethia logo
    0x3aca...487e
    Taiko Alethia logo
    0x00e9...17bc
    Taiko Alethia logo
    0x748e...17bc
    Taiko Alethia logo
    0xa38d...908b
    Taiko Alethia logo
    0x868b...efef
    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 forward a Standard proposal to the OptimisticTokenVotingPlugin contract. It can be vetoed by 10% of votable TAIKO tokens during a 10d public veto period. If not vetoed, a further 7d timelock applies before the proposal 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.

    Governance profile

    Security Council

    Composition

    5/9 standard · 7/9 emergency — 9-member signer set shared by custom Aragon OSx standard and emergency multisig plugins. Members were appointed by the Taiko team rather than elected and include Taiko Labs employees. Members can appoint EOA agents to act for them.

    Members public

    Mapped — Taiko publishes a member wallet-to-entity mapping. The 9 current onchain members are Aragon, Chainbound, Drew Van der Werff, Gattaca, Taiko Labs, Halborn, L2BEAT, Nethermind, and Toni Wahrstätter. Each member wallet is mapped to its voting agent onchain.

    Charter

    No public charter — the DAO values define the council’s security mission and principles, while the proposal guidelines restrict emergency proposals to protocol-security and integrity matters. Council selection, terms, conflicts, and accountability are not defined in a public charter.

    Can bypass DAO?

    Yes, for emergencies — 7 Security Council approvals execute an encrypted proposal immediately, with no TAIKO-holder veto or delay. Standard proposals require 5 approvals and remain vetoable. The council controls most core upgrades but no longer has permissions over Treasury funds.

    DAO can override SC?

    No — 10% of eligible TAIKO can block a standard proposal but never an emergency one. Token holders cannot create proposals, approve payloads, remove council members, or block emergency proposals; changing the signer list requires another council-approved proposal.

    Upgrades

    Normal upgrade path

    Security Council member creates a public executable payload → 5 council approvals → 10d token-holder veto period → if less than 10% of eligible TAIKO vetoes, 7d timelockpermissionless execution of the approved onchain actions.

    Emergency upgrade path

    7 Security Council approvals, instant — proposal metadata and actions stay encrypted while approvals are collected. A council member decrypts the payload, which is integrity-checked against the approved ciphertext and executed without a token-holder veto or timelock; its contents become public upon execution or expiry.

    Exit window

    17d standard · 0 emergency — the standard path provides 10d of public vetoing followed by a 7d timelock. Emergency proposals bypass both.

    Token governance

    Governance token

    TAIKO on Ethereum — 1,000,000,000 total supply, all minted at initialization; the current implementation has no further mint function. One delegated TAIKO equals one veto vote, snapshotted when the proposal is created. The Foundation treasury, DAO controller, canonical ERC20 vault, and zero address are excluded from eligible supply.

    Voting venue

    Taiko DAO for onchain vetoes; proposals and temperature checks are discussed on the Taiko forum.

    Proposal threshold

    No TAIKO threshold — only a Security Council member can create an onchain proposal. Community members can submit forum proposals, but a council member must sponsor the idea and supply the executable payload.

    Quorum

    No approval quorum; 10% veto threshold. Standard proposals pass optimistically unless at least 10% of eligible TAIKO at the proposal snapshot vetoes. Unused and undelegated eligible tokens still count in the denominator.

    Execution model

    Council-gated optimistic veto + permissionless execution. The Security Council approves the exact onchain actions. Token holders can only veto; if the threshold is not reached and the 7d timelock expires, anyone can call execute(). Emergency proposals skip the veto and delay.

    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
    23
    Last upgrade
    1mo ago
    Avg upgrade interval
    3mo 16d
    2026 July 29, 11:38 UTC
    2changes

    Operator rotation.

    contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {
    +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.
    values.operatorMapping.1:
    - "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990"
    values.operatorMapping.2:
    + "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990"
    }
    2026 July 23, 13:53 UTC
    1change

    A third preconfirmation operator was added to the whitelist.

    contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {
    +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.
    values.operatorMapping.2:
    + "eth:0x2267C7246523191b8bf7615B86b3bdEE612b7D9E"
    }
    2026 July 17, 07:45 UTC
    High severity
    8changes

    One Security Council agent is changed. The Unzen upgrade proposal moves into the optimistic public phase.

    contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {
    +++ description: 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.
    values.$members.4:
    - "eth:0xbC40317A69CB1D1aF2CBcfE32C8B7a6840Dc287a"
    + "eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A"
    }
    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:
    - 36
    + 37
    values.proposalIds.36:
    + "607065748551507217783827454409519139164457533476"
    }
    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:
    - 21
    + 22
    }
    contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {
    +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.
    values.operatorMapping.2:
    - "eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d"
    }
    2026 July 08, 11:21 UTC
    5changes

    Quota changes 150K - 250K per day for stables (USDT and USDC).

    contract QuotaManager (eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC) [taiko/QuotaManager] {
    +++ description: Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.
    values.tokenQuotas.3.quota:
    - "150,000"
    + "250,000"
    values.tokenQuotas.4.quota:
    - "150,000"
    + "250,000"
    }
    contract PreconfWhitelist (eth:0xFD019460881e6EeC632258222393d5821029b2ac) [taiko/PreconfWhitelist] {
    +++ description: Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.
    values.operatorMapping.2:
    + "eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d"
    }
    2026 July 02, 07:58 UTC
    High severity
    11changes

    Bridges unpaused. Taiko is live again, without forced transactions or proposer fallback.

    contract SignerList (Security Council) (eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2) [taiko/SignerList] {
    +++ description: 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.
    values.$members.4:
    - "eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A"
    + "eth:0xbC40317A69CB1D1aF2CBcfE32C8B7a6840Dc287a"
    }
    contract EmergencyMultisig (eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd) [taiko/EmergencyMultisig] {
    +++ description: Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).
    +++ description: total count of encrypted emergency proposals created.
    +++ severity: HIGH
    values.proposalCount:
    - 34
    + 35
    }
    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:
    - 35
    + 36
    values.proposalIds.35:
    + "606707631305171219093581685850458871248271179811"
    }
    contract MainnetERC20Vault (eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab) [taiko/SharedERC20Vault] {
    +++ description: Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.
    +++ severity: HIGH
    values.paused:
    - true
    + false
    }
    contract MainnetBridge (eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC) [taiko/TaikoBridge] {
    +++ description: Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.
    +++ severity: HIGH
    values.paused:
    - true
    + false
    }

    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, batch proposing is permissioned through the PreconfWhitelist contract, which currently has 3 active operators registered. For each epoch, PreconfWhitelist selects a single active operator that can propose to MainnetInbox. There is no fallback proposer path, and non-selected operators cannot propose for the current epoch. Proving is controlled separately by ProverWhitelist, which currently has 2 whitelisted provers. While the prover whitelist is non-empty, non-whitelisted actors cannot submit proofs. 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't force any transaction

    There is no general mechanism to force the sequencer to include a transaction. Forced inclusions are disabled in the current MainnetInbox implementation: saveForcedInclusion() always reverts and propose() only accepts zero forced inclusions. If the selected proposer is down or censoring, user transactions that are not included by the permissioned proposer remain non-included.

    • Users can be censored if the operator refuses to include their transactions.

    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

    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
      • DefaultResolver
      • MainnetERC20Vault
      • DAO
      • SignalService
      • MainnetBridge
      • ProverWhitelist
      • TaikoDAOController
      • PreconfWhitelist
    • Can interact with TaikoRisc0Verifier
      • manage trusted RISC Zero image IDs 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
      • manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks 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 SecureSgxVerifier
      • add SGX instances without DCAP attestation and delete registered instances with 7d delay
    • Can interact with MainnetInbox
      • pause and unpause the rollup system, activate the inbox, and execute the one-time state recovery path with 7d delay
    • Can interact with TaikoSP1Verifier
      • manage trusted SP1 program verification keys with 7d delay
    • Can interact with AutomataDcapV3Attestation
      • manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks with 7d delay
    • Can interact with DefaultResolver
      • update the contract address registered for any chainId-name pair 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 MainnetERC20Vault
      • pause and unpause token bridge flows and change the bridged token implementation for a canonical token after the migration delay with 7d delay
    • Can interact with DAO
      • define all permissions of the central DAO smart contract with 7d delay
    • Can interact with SecureSgxVerifier
      • add SGX instances without DCAP attestation and delete registered instances with 7d delay
    • Can interact with SignalService
      • pause and unpause signal proof verification with 7d delay
    • Can interact with MainnetBridge
      • pause and unpause bridge message flows and execute one-time bridge recovery initializers 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 PreconfWhitelist
      • pause/unpause, add or remove operators, and manage ejecter roles with 7d delay
    Taiko Multisig0x9CBe…9C7F

    A Multisig with 4/6 threshold.

    • Can interact with SecureSgxVerifier
      • register SGX instances after DCAP attestation verification
    • Can interact with SecureSgxVerifier
      • register SGX instances after DCAP attestation verification
    • Can interact with SignalService
      • pause and unpause signal proof verification
    • Can interact with QuotaManager
      • update token withdrawal quotas and the quota refill period
    • Can interact with MainnetBridge
      • pause and unpause bridge message flows and fund the bridge through direct ETH transfers
    • Can interact with ProverWhitelist
    • Can interact with PreconfWhitelist
      • manage the ejecter role
    MainnetERC20Vault0x9962…15Ab

    Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.

    • Can interact with QuotaManager
      • consume ERC20 withdrawal quota when tokens leave the vault
    MainnetBridge0xd602…d8EC

    Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.

    • Can interact with QuotaManager
      • consume ETH withdrawal quota when ETH leaves the bridge

    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:
    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
      • eligible to propose batches on L1; only the selected current-epoch operator can successfully propose
    • Can interact with PreconfWhitelist
      • add operators after a two-epoch activation delay and remove existing operators immediately
    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.

    • 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

    TaikoRisc0Verifier0x059d…Cd8b

    Gating router contract to verify batches using RISC Zero.

    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 core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Forced inclusion submission and processing are disabled in this implementation. Proposals must come from the configured proposer checker, and if the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert; the configured permissionless proving delay is not used to open proving.

    MainnetVerifier0x7180…d878

    Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.

    TaikoSP1Verifier0x73A0…100F

    Gating router contract to verify batches using SP1.

    RiscZeroGroth16Verifier0xafB3…9df9

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

    Implementation used in:

    Defines the prover whitelist queried by the inbox before accepting proofs. If the inbox is configured with this contract and the whitelist is non-empty, only whitelisted provers can prove proposals.

    • Roles:
      • admin: TaikoDAOController; ultimately SignerList (Security Council)
      • owner: TaikoDAOController; ultimately SignerList (Security Council)
      • proverManager: Taiko Multisig
    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:
    QuotaManager0xBaCb…c6cC

    Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.

    • Roles:
      • bridge: MainnetBridge
      • erc20Vault: MainnetERC20Vault
      • owner: Taiko Multisig

    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:
    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 DCAP attestation policy, trusted measurements, and certificate revocation data.

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

    RiscZeroVerifierEmergencyStop
    4 instances
    0x1efD…D6980x68dC…40E30x9F99…e6960xDa8f…B2b1

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

    • Roles:
      • owner: Safe
    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:
    SecureSgxVerifier
    2 instances
    0x41e7…84Ee0x9D3C…FFd8

    Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.

    • Roles:
      • owner: TaikoDAOController; ultimately SignerList (Security Council)
      • registrar: Taiko Multisig
    RiscZeroVerifierEmergencyStop0x44c2…33e7

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

    • Roles:
      • owner: EOA 10
    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:
    RiscZeroVerifierEmergencyStop0x844D…F782

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

    • Roles:
      • owner: Safe
    Implementation used in:
    SP1Verifier0x8a0f…Fc5C

    Verifier contract for SP1 proofs (v6.0.0).

    Implementation used in:

    Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.

    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:

    Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.

    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 and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.

    • Roles:
      • admin: TaikoDAOController; ultimately SignerList (Security Council)
      • owner: TaikoDAOController; ultimately SignerList (Security Council)
      • pauser: Taiko Multisig
    SP1Verifier0xc3c6…AF2A
    Implementation used in:

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

    Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.

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

    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
    0x0075...487e
    Taiko Alethia logo
    0x3aca...487e
    Taiko Alethia logo
    0x00e9...17bc
    Taiko Alethia logo
    0x748e...17bc
    Taiko Alethia logo
    0xa38d...908b
    Taiko Alethia logo
    0x868b...efef
    Taiko Alethia logo