{
"unverifiedContracts": []
"unverifiedContracts": [],
"yellowWarning": "Deposits and withdrawals via ETH-Bridge and ERC-20 bridges are paused. Forced transactions and permissionless proving fallback are disabled as emergency responses to the hack."
}
milestones+7-0
[
{
"title": "Proof system exploit",
"url": "https://x.com/taikoxyz/status/2068857506718515320",
"date": "2026-06-22T00:00:00.00Z",
"description": "An attacker exploits a vulnerability in the SGX proof system and steals USD ~1.7M.",
"type": "incident"
},
{
"title": "Preconfs introduction",
"url": "https://taiko.mirror.xyz/rbgD_KM06QkDe1t0Gw1wI_MLvwobTS1PqEIfstZRo48",
"date": "2025-08-11T00:00:00.00Z",
"description": "Taiko implements preconfs - whitelisted actors provide fast soft confirmations for L2 txs.",
"type": "general"
},
{
"title": "Plonky3 vulnerability patch",
"url": "https://x.com/SuccinctLabs/status/1929773028034204121",
"date": "2025-06-04T00:00:00.00Z",
"description": "SP1 verifier is patched to fix critical vulnerability in Plonky3 proof system (SP1 dependency).",
"type": "incident"
},
{
"title": "Taiko Pacaya Hardfork",
"url": "https://taiko.mirror.xyz/pIchmo0E-DfSySCzL52BFbus54Z3XJEO0k0Ptqqpm_I",
"date": "2025-05-21T00:00:00.00Z",
"description": "Taiko Pacaya hardfork replaces the contestable rollup design with a batch based protocol.",
"type": "general"
},
{
"title": "TAIKO Token Airdrop",
"url": "https://taiko.mirror.xyz/VSOtILX2DQsc_6IMt5hBT1fEYSH8243pZ8IA_pBfHks",
"date": "2024-06-05T00:00:00.00Z",
"description": "TAIKO token launches.",
"type": "general"
},
{
"title": "Mainnet Launch",
"url": "https://taiko.mirror.xyz/Pizjv30FvjsZUwEG-Da7Gs6F8qeDLc4CKKEBqy3pTt8",
"date": "2024-05-27T00:00:00.00Z",
"description": "Taiko is deployed on Ethereum mainnet.",
"type": "general"
},
{
"title": "Taiko Based Sequencing Upgrade",
"url": "https://taiko.mirror.xyz/_oKlnpzKSOxGILyy4WlvpUmYEqD7BFxzmRo3XETlJqE",
"date": "2024-06-06T00:00:00.00Z",
"description": "Proposing blocks on Taiko is now permissionless.",
"type": "general"
},
{
"title": "Taiko enabled SP1 and Risc0 proving",
"url": "https://etherscan.io/tx/0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"date": "2024-11-01T00:00:00.00Z",
"description": "TaikoL1 smart contract upgraded to verify SP1 and Risc0 proofs of Taiko L2 blocks.",
"type": "general"
}
]
scalingTechnology+1-1
{
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "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.",
"references": [],
"risks": []
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "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.",
"risks": [],
"references": []
}
],
"forceTransactions": {
"name": "Users can force any transaction via L1",
"description": "Users can submit a blob reference containing a standalone transaction by calling the `saveForcedInclusion()` function on the `MainnetInbox` contract.\nOnce any forced inclusion has been queued for 9m 36s, whitelisted proposers cannot submit new proposals unless they process all due forced inclusions.\nIf the oldest queued forced inclusion is still ignored for 1d 1h, proposing becomes permissionless and anyone can include it.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, saveForcedInclusion function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, propose function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
}
],
"risks": []
},
"operator": {
"name": "The system uses whitelist-based sequencing and proving",
"description": "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.\nThe whitelist is managed by the `PreconfWhitelist` contract, which currently has 3 active operators registered.\nForced inclusions become mandatory after 9m 36s and proposing becomes permissionless after 1d 1h if the queue is still ignored.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nNon-whitelisted actors must wait 5d after an unproven proposal before the whitelist is dropped. MainnetInbox currently sets minBond=0 and livenessBond=0.\nCurrently, proving a proposal requires SGX (Geth), plus either SGX (Reth), SP1, or RISC0.",
"description": "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.\nThe whitelist is managed by the `PreconfWhitelist` contract, which currently has 1 active operators registered.\nForced inclusions become mandatory after 9m 36s and proposing becomes permissionless after 1d 1h if the queue is still ignored.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nNon-whitelisted actors must wait 5d after an unproven proposal before the whitelist is dropped. MainnetInbox currently sets minBond=0 and livenessBond=0.\nCurrently, proving a proposal requires SGX (Geth), plus either SGX (Reth), SP1, or RISC0.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, propose function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, prove function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "PreconfWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149#code"
},
{
"title": "ProverWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
}
],
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
]
},
"stateValidation": {
"categories": [
{
"title": "Validity proofs",
"description": "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.",
"references": [
{
"title": "MainnetInbox.sol - Etherscan source code, getConfig function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "MainnetInbox.sol - Etherscan source code, prove function",
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"title": "ProverWhitelist.sol - Etherscan source code",
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a malicious block is proven by compromised SGX instances."
}
]
}
]
},
"upgradesAndGovernance": {
"content": "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.\n# Standard proposals\nA 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.\n# Emergency proposals\nEmergency 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.\n\n# Proof system and operators\nThe 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."
}
}
permissions+35-51
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "SignerList (Security Council)",
"name": "SignerList (Security Council)",
"description": "A Multisig with 7/9 threshold. \nA 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.\n* Can upgrade **with 7d delay**\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * Taiko Token [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetInbox [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * QuotaManager [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetERC20Vault [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * DAO [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * SignalService [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetBridge [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * ProverWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * L1SharedAddressManager [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * PreconfWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * Bridge [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n * ERC20Vault [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n * SignalService [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n * L2AddressManager [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n * Anchor [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n * DelegateController [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n* Can interact with TaikoRisc0Verifier\n * update the trusted image ids **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SgxVerifier\n * can add new instances without a DCAP attestation **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignerList (Security Council)\n * add/remove members from the Security Council and change its minimum size **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with AutomataDcapV3Attestation\n * can update the program being verified **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with EmergencyMultisig\n * manage critical settings (e.g. threshold and multisig settings) for the emergency proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with MainnetInbox\n * pause and unpause the rollup system **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with AutomataDcapV3Attestation\n * can update the program being verified **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoSP1Verifier\n * manage trusted program hashes **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with OptimisticTokenVotingPlugin\n * manage critical settings (e.g. thresholds, delays and proposal acceptance criteria) for all governance proposals **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with DAO\n * define all permissions of the central DAO smart contract **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with SignalService\n * pause and unpause proofs and verification **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SgxVerifier\n * can add new instances without a DCAP attestation **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with Multisig\n * manage critical settings (e.g. threshold and multisig settings) for the standard proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with ProverWhitelist\n * manage the prover whitelist **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with L1SharedAddressManager\n * can update the contract address for a given name **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with PreconfWhitelist\n * pause/unpause, manage operator and ejector roles **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignalService\n * pause and unpause proofs and verification **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]\n* Can interact with L2AddressManager\n * can update the contract address for a given name **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController → DelegateController]",
"description": "A Multisig with 7/9 threshold. \nA 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.\n* Can upgrade **with 7d delay**\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * Taiko Token [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetInbox [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * AutomataDcapV3Attestation [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * QuotaManager [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetERC20Vault [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * DAO [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * SignalService [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * MainnetBridge [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * ProverWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * L1SharedAddressManager [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n * TaikoDAOController [via: DAO with 7d delay (emergency proposals bypass the delay)]\n * PreconfWhitelist [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoRisc0Verifier\n * update the trusted image ids **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SgxVerifier\n * can add new instances without a DCAP attestation **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignerList (Security Council)\n * add/remove members from the Security Council and change its minimum size **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with AutomataDcapV3Attestation\n * can update the program being verified **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with EmergencyMultisig\n * manage critical settings (e.g. threshold and multisig settings) for the emergency proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with MainnetInbox\n * pause and unpause the rollup system **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with AutomataDcapV3Attestation\n * can update the program being verified **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoSP1Verifier\n * manage trusted program hashes **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with OptimisticTokenVotingPlugin\n * manage critical settings (e.g. thresholds, delays and proposal acceptance criteria) for all governance proposals **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with DAO\n * define all permissions of the central DAO smart contract **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with SignalService\n * pause and unpause proofs and verification **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SgxVerifier\n * can add new instances without a DCAP attestation **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with Multisig\n * manage critical settings (e.g. threshold and multisig settings) for the standard proposal governance path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay)]\n* Can interact with ProverWhitelist\n * manage the prover whitelist **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with L1SharedAddressManager\n * can update the contract address for a given name **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with PreconfWhitelist\n * pause/unpause, manage operator and ejector roles **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]",
"accounts": [
{
"address": "eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2",
"type": "Contract",
"isVerified": true,
"name": "0x0F95…79c2",
"url": "https://etherscan.io/address/0x0F95E6968EC1B28c794CF1aD99609431de5179c2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163",
"type": "EOA",
"isVerified": true,
"name": "Gustavo Gonzalez Agent",
"url": "https://etherscan.io/address/0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163"
},
{
"address": "eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"type": "EOA",
"isVerified": true,
"name": "Toni Wahrstätter Agent",
"url": "#Toni-Wahrstätter-Agent"
},
{
"address": "eth:0x884c3e8235788ae52C2106E847e30BD84F2FBCb8",
"type": "EOA",
"isVerified": true,
"name": "L2BEAT Agent",
"url": "https://etherscan.io/address/0x884c3e8235788ae52C2106E847e30BD84F2FBCb8"
},
{
"address": "eth:0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4",
"type": "EOA",
"isVerified": true,
"name": "Chainbound Agent",
"url": "https://etherscan.io/address/0x22aD66bcEaeff83e1461772Fa85CbeB01f0915f4"
},
{
"address": "eth:0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A",
"type": "EOA",
"isVerified": true,
"name": "Nethermind Agent",
"url": "https://etherscan.io/address/0x4236f57E9dBc238878EFac4AeF0A16D4dD06DC1A"
},
{
"address": "eth:0x824Dce8d292a393DAb5FFdeb788DC1086257f678",
"type": "EOA",
"isVerified": true,
"name": "Aragon Agent",
"url": "https://etherscan.io/address/0x824Dce8d292a393DAb5FFdeb788DC1086257f678"
},
{
"address": "eth:0x18B4f2afe456Dc89bddE9710476dCfC62D01d656",
"type": "EOA",
"isVerified": true,
"name": "Drew Van der Werff Agent",
"url": "https://etherscan.io/address/0x18B4f2afe456Dc89bddE9710476dCfC62D01d656"
},
{
"address": "eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"type": "EOA",
"isVerified": true,
"name": "Halborn Agent",
"url": "#Halborn-Agent"
},
{
"address": "eth:0xc4414B079bC4A013916B3dc241555F6f505c1619",
"type": "EOA",
"isVerified": true,
"name": "Gattaca Agent",
"url": "#Gattaca-Agent"
}
],
"discoveryDrivenData": true
},
{
"id": "Taiko Multisig",
"name": "Taiko Multisig",
"description": "A Multisig with 4/6 threshold. \n* Can interact with ProverWhitelist\n * manage the prover whitelist \n* Can interact with PreconfWhitelist\n * manage the ejecter role ",
"accounts": [
{
"address": "eth:0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F",
"type": "Contract",
"isVerified": true,
"name": "0x9CBe…9C7F",
"url": "https://etherscan.io/address/0x9CBeE534B5D8a6280e01a14844Ee8aF350399C7F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163",
"type": "EOA",
"isVerified": true,
"name": "Gustavo Gonzalez Agent",
"url": "https://etherscan.io/address/0xAC5898b0FFFd23F4Ef09F0E50Fa1bC4896eF7163"
},
{
"address": "eth:0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a",
"type": "EOA",
"isVerified": true,
"name": "0xDC4e…8a0a",
"url": "https://etherscan.io/address/0xDC4ece5620659F4d5d1536Cab52BD5e5B15F8a0a"
},
{
"address": "eth:0x0aED2375549D1115e180bd0caea829C429Ea50B3",
"type": "EOA",
"isVerified": true,
"name": "0x0aED…50B3",
"url": "https://etherscan.io/address/0x0aED2375549D1115e180bd0caea829C429Ea50B3"
},
{
"address": "eth:0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439",
"type": "EOA",
"isVerified": true,
"name": "0xCf76…c439",
"url": "https://etherscan.io/address/0xCf76A87E24FE2054DCF02a5f65eAc0F24A34c439"
},
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1",
"type": "EOA",
"isVerified": true,
"name": "0x3b1D…d5F1",
"url": "https://etherscan.io/address/0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://etherscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://etherscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "Taiko Foundation Treasury Multisig",
"name": "Taiko Foundation Treasury Multisig",
"description": "A Multisig with 2/3 threshold. ",
"accounts": [
{
"address": "eth:0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da",
"type": "Contract",
"isVerified": true,
"name": "0x363e…B3Da",
"url": "https://etherscan.io/address/0x363e846B91AF677Fb82f709b6c35BD1AaFc6B3Da"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"type": "Contract",
"isVerified": true,
"name": "TaikoDAOController",
"url": "https://etherscan.io/address/0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
},
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1",
"type": "EOA",
"isVerified": true,
"name": "0x3b1D…d5F1",
"url": "https://etherscan.io/address/0x3b1D1F89E0b6803174A2dE72e21A6f6f8464d5F1"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/2 threshold. \nMember of Taiko Foundation Treasury Multisig, Taiko Multisig, Gustavo Gonzalez Taiko.\n",
"accounts": [
{
"address": "eth:0xF28C8D6b44361255FA7C116d09ccD5F914398C10",
"type": "Contract",
"isVerified": true,
"name": "0xF28C…8C10",
"url": "https://etherscan.io/address/0xF28C8D6b44361255FA7C116d09ccD5F914398C10"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4757D97449acA795510b9f3152C6a9019A3545c3",
"type": "EOA",
"isVerified": true,
"name": "0x4757…45c3",
"url": "https://etherscan.io/address/0x4757D97449acA795510b9f3152C6a9019A3545c3"
},
{
"address": "eth:0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C",
"type": "EOA",
"isVerified": true,
"name": "0x7057…595C",
"url": "https://etherscan.io/address/0x7057A707621Fadd422f84DE94A9dF7c4F1AC595C"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-5-and-EOA-7",
"name": "EOA 1, EOA 5 and EOA 7",
"id": "EOA-1-and-EOA-3",
"name": "EOA 1 and EOA 3",
"accounts": [
{
"address": "eth:0x000cb000E880A92a8f383D69dA2142a969B93DE7",
"type": "EOA",
"isVerified": true,
"name": "0x000c…3DE7",
"url": "https://etherscan.io/address/0x000cb000E880A92a8f383D69dA2142a969B93DE7",
"displayName": "EOA 1"
},
{
"address": "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"type": "EOA",
"isVerified": true,
"name": "0x5F62…9990",
"url": "https://etherscan.io/address/0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"displayName": "EOA 5"
},
{
"address": "eth:0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d",
"type": "EOA",
"isVerified": true,
"name": "0xCbeB…9e9d",
"url": "https://etherscan.io/address/0xCbeB5d484b54498d3893A0c3Eb790331962e9e9d",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-2-and-EOA-4",
"name": "EOA 2 and EOA 4",
"accounts": [
{
"address": "eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438",
"type": "EOA",
"isVerified": true,
"name": "0x0F02…0438",
"url": "https://etherscan.io/address/0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438",
"displayName": "EOA 2"
"displayName": "EOA 1"
},
{
"address": "eth:0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"type": "EOA",
"isVerified": true,
"name": "0x45D4…dA4e",
"url": "https://etherscan.io/address/0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"displayName": "EOA 4"
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * add/remove operators ",
"discoveryDrivenData": true
},
{
"id": "Halborn-Agent",
"name": "Halborn Agent",
"accounts": [
{
"address": "eth:0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"type": "EOA",
"isVerified": true,
"name": "0x1d95…F556",
"url": "https://etherscan.io/address/0x1d955983044548E03DAA583B36A37cA4bdE6F556",
"displayName": "Halborn Agent"
}
],
"chain": "ethereum",
"description": "Member of Halborn, SignerList (Security Council).\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Halborn]",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"type": "EOA",
"isVerified": true,
"name": "0x39cc…6E6D",
"url": "https://etherscan.io/address/0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"displayName": "EOA 3"
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "Member of Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"type": "EOA",
"isVerified": true,
"name": "0x5F62…9990",
"url": "https://etherscan.io/address/0x5F62d006C10C009ff50C878Cd6157aC861C99990",
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "Toni-Wahrstätter-Agent",
"name": "Toni Wahrstätter Agent",
"accounts": [
{
"address": "eth:0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"type": "EOA",
"isVerified": true,
"name": "0x9353…61a6",
"url": "https://etherscan.io/address/0x93533a3511E9b0d5c17b1CBD0e1737781DEf61a6",
"displayName": "Toni Wahrstätter Agent"
}
],
"chain": "ethereum",
"description": "Member of SignerList (Security Council), Toni Wahrstätter.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Toni Wahrstätter]",
"discoveryDrivenData": true
},
{
"id": "EOA-6-and-EOA-9",
"name": "EOA 6 and EOA 9",
"id": "EOA-5-and-EOA-7",
"name": "EOA 5 and EOA 7",
"accounts": [
{
"address": "eth:0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"type": "EOA",
"isVerified": true,
"name": "0xBFD6…1DD1",
"url": "https://etherscan.io/address/0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"displayName": "EOA 6"
"displayName": "EOA 5"
},
{
"address": "eth:0xDFbD5490462963Cc242471913B53b034B209B32c",
"type": "EOA",
"isVerified": true,
"name": "0xDFbD…B32c",
"url": "https://etherscan.io/address/0xDFbD5490462963Cc242471913B53b034B209B32c",
"displayName": "EOA 9"
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "Member of Halborn.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Halborn]",
"discoveryDrivenData": true
},
{
"id": "Gattaca-Agent",
"name": "Gattaca Agent",
"accounts": [
{
"address": "eth:0xc4414B079bC4A013916B3dc241555F6f505c1619",
"type": "EOA",
"isVerified": true,
"name": "0xc441…1619",
"url": "https://etherscan.io/address/0xc4414B079bC4A013916B3dc241555F6f505c1619",
"displayName": "Gattaca Agent"
}
],
"chain": "ethereum",
"description": "Member of SignerList (Security Council), Gattaca.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Gattaca]",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"id": "EOA-6",
"name": "EOA 6",
"accounts": [
{
"address": "eth:0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"type": "EOA",
"isVerified": true,
"name": "0xd0d7…9e3F",
"url": "https://etherscan.io/address/0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"displayName": "EOA 8"
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "Member of Toni Wahrstätter.\n* Can interact with SignerList (Security Council)\n * configure an agent address that represents this entity in the Security Council [via: Toni Wahrstätter]",
"discoveryDrivenData": true
},
{
"id": "EOA-10",
"name": "EOA 10",
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 10"
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
contracts+11-322
{
"addresses": {
"ethereum": [
{
"name": "TaikoRisc0Verifier",
"isVerified": true,
"address": "eth:0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gating router contract to verify batches using RISC Zero.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x059dAF31F571da48Ab4e74Ae12F64f907681Cd8b#code"
},
{
"name": "MainnetInbox",
"isVerified": true,
"address": "eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42"
"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772642207,
"transactionHash": "0x7576f1179250453948b37648a748aaade28c40b33e358fa0cbe21be6b0368601",
"implementations": [
"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42"
]
},
{
"timestamp": 1782120275,
"transactionHash": "0x2fb71b83b8971dd7bbc174f72ea5d37f57bf20277c406b0d679062b20c348e1d",
"implementations": [
"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098"
]
}
],
"description": "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.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"description": "[FORCED TRANSACTIONS AND PERMISSIONLESS PROVING ARE DISABLED] 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.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f#code"
},
{
"name": "TaikoSP1Verifier",
"isVerified": true,
"address": "eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gating router contract to verify batches using SP1.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x96337327648dcFA22b014009cf10A2D5E2F305f6#code"
},
{
"name": "MainnetVerifier",
"isVerified": true,
"address": "eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Enforces the Taiko Multiprover policy and routes to the downstream router contracts.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9cAa4948381590900FCdd8a4F06EB24138eD665d#code"
},
{
"name": "ProverWhitelist",
"isVerified": true,
"address": "eth:0xEa798547d97e345395dA071a0D7ED8144CD612Ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xebb393746A4Eee84Ad14EDFf3764c3F839D1034b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772641607,
"transactionHash": "0x9ae9f5d95306d569099fbf42c0aa730a6b6e84e18f35e5f1a1374025597762d5",
"implementations": [
"eth:0xebb393746A4Eee84Ad14EDFf3764c3F839D1034b"
]
}
],
"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.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **proverManager**: Taiko Multisig",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEa798547d97e345395dA071a0D7ED8144CD612Ae#code"
},
{
"name": "MainnetERC20Vault",
"isVerified": true,
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0x109f0a0ff2b3b57f3a94bc1dd39159a7e3af9ec0141be56d49d7bb1db94279c2",
"implementations": [
"eth:0x15D9F7e12aEa18DAEF5c651fBf97567CAd4a4BEc"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xC722d9f3f8D60288589F7f67a9CFAd34d3B9bf8E"
]
},
{
"timestamp": 1716634859,
"transactionHash": "0x02ed558762eae5f0a930ba4a1047a02d4a793ea48890268c32df04e882f138ff",
"implementations": [
"eth:0x4F750D13005444407D44dAA30922128db0374ca1"
]
},
{
"timestamp": 1717749635,
"transactionHash": "0xdb5e926c96d112ce1389da77a927fba6c7d04a711839b9e14777530ebcf83914",
"implementations": [
"eth:0xF8bdaC4E68bA2595Be8381aaa5456917e374E737"
]
},
{
"timestamp": 1718023547,
"transactionHash": "0x42a1dacf03a4032209ca4a6b922ffe2ebb34925c16a6632d8590cf3374ae59d8",
"implementations": [
"eth:0x75b5E276c5C1e9378E899cb3A87977421980Eb22"
]
},
{
"timestamp": 1719903815,
"transactionHash": "0x13f54109cb7f7507ad03562b06ea8d8b472043186e44252302583bc64acfb20b",
"implementations": [
"eth:0xa303784B0557BF1F1FB8b8abEF2B18a005722689"
]
},
{
"timestamp": 1721133959,
"transactionHash": "0xee632b50626beb2f7db84c9c7f303f29366f86dfaccd24ddd831ceac714c20e5",
"implementations": [
"eth:0x7ACFBb369a552C45d402448A4d64b9da54C3FF30"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63"
]
}
],
"description": "Shared vault for Taiko chains for bridged ERC20 tokens.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748146475,
"transactionHash": "0x5da0579fa85d4712efb3d66c95ee884d73259ede79760d25f685e4c3c3c4c0c1",
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\nMember of Taiko Foundation Treasury Multisig.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a#code"
},
{
"name": "DAO",
"isVerified": true,
"address": "eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x52Af16664155608b845BE18aa29620EbF6eA2D3a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x52Af16664155608b845BE18aa29620EbF6eA2D3a"
]
}
],
"description": "The main contract and entrypoint of the Aragon-based DAO governance framework. Fine-grained DAO permissions, proposals, voting and thresholds are configured here.\n* Roles:\n * **currentSignerListPermissions**: SignerList (Security Council) (emergency proposals bypass the delay)\n * **daoPermissions**: DAO; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CDf589C941ee81D75F34d3755671d614f7cf261#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0xd1934807041B168f383870A0d8F565aDe2DF9D7D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746942803,
"transactionHash": "0x8328e607699f67108c9b259225d5316a079ad52e648e6188c3fce7bf99abec38",
"implementations": [
"eth:0xd1934807041B168f383870A0d8F565aDe2DF9D7D"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\n* Roles:\n * **admin**: DAO; ultimately SignerList (Security Council)\n * **owner**: DAO",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SgxVerifier",
"isVerified": true,
"address": "eth:0x08568Df252ecf37D6C3eFD24f6ca3688118697F1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08568Df252ecf37D6C3eFD24f6ca3688118697F1#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d.\n* Roles:\n * **canceller**: Safe\n * **defaultAdmin**: TimelockController; ultimately Safe\n * **executor**: Safe\n * **proposer**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "AutomataDcapV3Attestation",
"isVerified": true,
"address": "eth:0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5e46443bd131eB6d4c6Fb4849bAD29af9596dd72"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0x3b734f101aeef12dbbef6a43abae4176ac967c5ab8ea0194c6d890dafd6573ad",
"implementations": [
"eth:0x5e46443bd131eB6d4c6Fb4849bAD29af9596dd72"
]
}
],
"description": "Contract managing SGX attestation certificates.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0ffa4A625ED9DB32B70F99180FD00759fc3e9261#code"
},
{
"name": "Taiko Token",
"isVerified": true,
"address": "eth:0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714033799,
"transactionHash": "0x4f7a1c6ad21fbfeaecab40ea36a3845bf67e22d7770d8a259d62b995cb93cb34",
"implementations": [
"eth:0x9ae1a067F9655DD0511390e3d70Bb25933AE61eb"
]
},
{
"timestamp": 1715406371,
"transactionHash": "0x7d82794932540ed9edd259e58f6ef8ae21a49beada7f0224638f888f7149c01c",
"implementations": [
"eth:0xea53c0f4b129Cf3f3FBA896F9f23ca18246e9B3c"
]
},
{
"timestamp": 1716969803,
"transactionHash": "0x56402f9fd928be890fbd29829b817faffc0780b85e83300a29962c969808cae2",
"implementations": [
"eth:0x7dF8bfBf0f09e94200b6a158b421e2CCaCc4830F"
]
},
{
"timestamp": 1717732931,
"transactionHash": "0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04",
"implementations": [
"eth:0x55833dA2962c2330ccCF043ff8037e6D2939bCF6"
]
},
{
"timestamp": 1719904547,
"transactionHash": "0xc9f468d33d8d55911e4e5b5c301ed244a5f81ab0f389d2b4f398eb5b89d417ef",
"implementations": [
"eth:0xcfe803378D79d1180EbF030455040EA6513869dF"
]
},
{
"timestamp": 1747097243,
"transactionHash": "0xdb7d5de46738ad3f676db47b61772db531f9858b7a01e8c3b5aee49fa74cac95",
"implementations": [
"eth:0x87C752b0F70cAa237Edd7571B0845470A37DE040"
]
},
{
"timestamp": 1747285931,
"transactionHash": "0x986fc2c7ae945cdd358b2f2ae54364b350026f965f5861ed470f78e145f12626",
"implementations": [
"eth:0x5C96Ff5B7F61b9E3436Ef04DA1377C8388dfC106"
]
}
],
"description": "ERC20 contract implementing the TAIKO token. It defines a list of addresses designated as non-voting.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a098988600d87650Fb061FfAff08B97149Fa84D#code"
},
{
"name": "EmergencyMultisig",
"isVerified": true,
"address": "eth:0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x437E450452E8Bc142bd5317199296EcB187c514b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x437E450452E8Bc142bd5317199296EcB187c514b"
]
}
],
"description": "Modular Governance contract allowing for proposing, voting on and executing encrypted proposals (e.g. for Security Council emergency proposals).\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 10",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 8",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "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.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68dC2cB4e61774873971c499D9b239ec5Ac540E3#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "AutomataDcapV3Attestation",
"isVerified": true,
"address": "eth:0x8d7C954960a36a7596d7eA4945dDf891967ca8A3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x5f73f0AdC7dAA6134Fe751C4a78d524f9384e0B5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550639,
"transactionHash": "0x207dec76298211a2d988b0de3e9a3f8da0edb4524a011e72f28200be08edd4c6",
"implementations": [
"eth:0xEE8FC1dbb8D345f5bF35dFb939C6f9EdC5fCDAFc"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xde1b1FBe7D721af4A56651272ef91A59B7303323"
]
},
{
"timestamp": 1715787263,
"transactionHash": "0x46a6d47c15505a1259c64d1e09353680e525b2706dd9e095e15019dda7c1b295",
"implementations": [
"eth:0x5f73f0AdC7dAA6134Fe751C4a78d524f9384e0B5"
]
}
],
"description": "Contract managing SGX attestation certificates.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8d7C954960a36a7596d7eA4945dDf891967ca8A3#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).\n* Roles:\n * **owner**: TimelockController; ultimately Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "QuotaManager",
"isVerified": true,
"address": "eth:0x91f67118DD47d502B1f0C354D0611997B022f29E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xdb627bfD79e81fE42138Eb875287F94FAd5BBc64"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715578067,
"transactionHash": "0x03df9b2af0bebae6b9a3d413c98e53ccd3c629e10010f2c1c14d1c6da630a7d7",
"implementations": [
"eth:0x49c5e5F131314Bb24b17E249960F8B12F925ef22"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0xdb627bfD79e81fE42138Eb875287F94FAd5BBc64"
]
}
],
"description": "Defines withdrawal limits per token.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91f67118DD47d502B1f0C354D0611997B022f29E#code"
},
{
"name": "OptimisticTokenVotingPlugin",
"isVerified": true,
"address": "eth:0x989E348275b659d36f8751ea1c10D146211650BE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
}
],
"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.\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x989E348275b659d36f8751ea1c10D146211650BE#code"
},
{
"name": "SignalService",
"isVerified": true,
"address": "eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0x0898d14da2f38d677085073d2decfb7ca32902406df2e7a84f6615d9c92d4516",
"implementations": [
"eth:0xE1d91bAE44B70bD66e8b688B8421fD62dcC33c72"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0x3d59c18b31A7D950EF9bd15eD285b6c182E0f0bb"
]
},
{
"timestamp": 1717749635,
"transactionHash": "0xdb5e926c96d112ce1389da77a927fba6c7d04a711839b9e14777530ebcf83914",
"implementations": [
"eth:0xB11Cd7bA46a12F238b4Ad831f6F296262C1e652d"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0xDF8642a1FBFc2014de27E8E87283D6f3eEF315DF"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0x45fed11Ba70D4217545F18E27DDAF7D76Ff499f3"
]
},
{
"timestamp": 1747298447,
"transactionHash": "0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd",
"implementations": [
"eth:0x0783Ee019C9b0f918A741469bD488A88827b3617"
]
},
{
"timestamp": 1747578311,
"transactionHash": "0x0ae99d24b294622e3d3868c8dca911a5936231ce1f97254ec0c6a6f65f7aa81c",
"implementations": [
"eth:0x42Ec977eb6B09a8D78c6D486c3b0e63569bA851c"
]
},
{
"timestamp": 1774964687,
"transactionHash": "0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36",
"implementations": [
"eth:0x6a4B15E4b0296B2ECE03Ee9Ed74E4A3E3ECA68D6"
]
},
{
"timestamp": 1777562051,
"transactionHash": "0xfcd6ca82025b847a3508db2d3c82327a19e3c4afda867acae8c09da147667036",
"implementations": [
"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
]
}
],
"description": "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.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9e0a24964e5397B566c1ed39258e21aB5E35C77C#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#code"
},
{
"name": "SgxVerifier",
"isVerified": true,
"address": "eth:0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa1018Ba2e22139076f91dA2A856B2CAB22d968F6#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "MainnetBridge",
"isVerified": true,
"address": "eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0x99673a767d36f5f3bc4af415072f97f344b6a5ec39e0d85eb799691787b1b98b",
"implementations": [
"eth:0x91d593d34f2E1904cDCe3D5290a74563F87bCF6f"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0x4A1091c2fb37D9C4a661c2384Ff539d94CCF853D"
]
},
{
"timestamp": 1716358991,
"transactionHash": "0x5a60c5815947a199cc84e1bc75539e01a202597b20c1f87bd9d02f8be6453abd",
"implementations": [
"eth:0xc71CC3B0a47149878fad337fb2ca54E546A645ba"
]
},
{
"timestamp": 1716634859,
"transactionHash": "0x02ed558762eae5f0a930ba4a1047a02d4a793ea48890268c32df04e882f138ff",
"implementations": [
"eth:0x02F21B4C3d4dbfF70cE851741175a727c8D782Be"
]
},
{
"timestamp": 1716958835,
"transactionHash": "0x8a380a25d03a740d9535dfc3e2fc4f6960e22d49ad88b8d85f59af4013aedf87",
"implementations": [
"eth:0x71c2f41AEDe913AAEf2c62596E03702E348D6Cd0"
]
},
{
"timestamp": 1717148087,
"transactionHash": "0xf21f6bf720767db3bc9b63ef69cacb20340bdedfb6589e6a4d11fe082dfa7bd6",
"implementations": [
"eth:0x951B7Ae1bB26d12dB37f01748e8fB62FEf45A8B5"
]
},
{
"timestamp": 1717481351,
"transactionHash": "0xc0ba6558642b93ee892bee0705dbcfb5130c53637e6266bfa5e3a6501167d6f2",
"implementations": [
"eth:0x3c326483EBFabCf3252205f26dF632FE83d11108"
]
},
{
"timestamp": 1717732931,
"transactionHash": "0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04",
"implementations": [
"eth:0xD28f2c26aD8bA88b0691F6BB41Ff021878052561"
]
},
{
"timestamp": 1719502583,
"transactionHash": "0x2f14829c3da1a755a74948d5716a625256ae7e2481e538b0660a8da11c84dc2e",
"implementations": [
"eth:0x40f8Be2969D0D5717768F6799c8840e5D5D603F7"
]
},
{
"timestamp": 1719903815,
"transactionHash": "0x13f54109cb7f7507ad03562b06ea8d8b472043186e44252302583bc64acfb20b",
"implementations": [
"eth:0x01E7D369a619eF1B0E92563d8737F42C09789986"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0xAc96FF285158bceBB8573D20d853e86BB2915aF3"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0x2705B12a971dA766A3f9321a743d61ceAD67dA2F"
]
}
],
"description": "Shared bridge escrow for Taiko chains for bridged ETH.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC#code"
},
{
"name": "Multisig",
"isVerified": true,
"address": "eth:0xD7dA1C25E915438720692bC55eb3a7170cA90321",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x8510d389236d7213eE9B9C38CAaBc0aD24853C25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x8510d389236d7213eE9B9C38CAaBc0aD24853C25"
]
}
],
"description": "Modular Governance contract allowing for proposing, voting on and executing proposals (e.g. for Security Council standard proposals).\n* Roles:\n * **dao**: DAO; ultimately SignerList (Security Council)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7dA1C25E915438720692bC55eb3a7170cA90321#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#code"
},
{
"name": "L1SharedAddressManager",
"isVerified": true,
"address": "eth:0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0xf83131446154db1fb4013c20e9468c36f71085dbdf4304f8e2ef5ac13f2e3670",
"implementations": [
"eth:0x9cA1Ab10c9fAc5153F8b78E67f03aAa69C9c6A15"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xF1cA1F1A068468E1dcF90dA6add185467de80943"
]
},
{
"timestamp": 1716722231,
"transactionHash": "0xe1ef58455de0b0331228e487d54720290ed8a73f709d2146bd43330d4a360bd3",
"implementations": [
"eth:0x9496502d7D121B3D5eF25cA6c58d4f7593398a17"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0x2f7126f78365AD54EAB26fD7faEc60435008E2fD"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0xEC1a9aa1C648F047752fe4eeDb2C21ceab0c6449"
]
}
],
"description": "Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "PreconfWhitelist",
"isVerified": true,
"address": "eth:0xFD019460881e6EeC632258222393d5821029b2ac",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753275179,
"transactionHash": "0x2d127d401f9d22fd4c4f8c14773f2e98e9a3e87837f78bb1d2881a8fcb91cd59",
"implementations": [
"eth:0x86f0AeFA26A1447bbE62bd2bE1D30ff3353B88fB"
]
},
{
"timestamp": 1754913371,
"transactionHash": "0x1000b14e86d8db17931f65e877e2eb13cb3990d0a129eee1aff21ce6ba96d2cf",
"implementations": [
"eth:0x44eC275996BD69361EF062ed488882a58256CF11"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc"
]
},
{
"timestamp": 1774964687,
"transactionHash": "0xb132692b255fb1ff670b37d162af03de5151fa1e77811bf009ba276e4a9a2f36",
"implementations": [
"eth:0xDBae46E35C18719E6c78aaBF9c8869c4eC84c149"
]
}
],
"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.\n* Roles:\n * **_ejectorManager**: Taiko Multisig\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **ejecters**: EOA 2, EOA 4\n * **operatorMapping**: EOA 1, EOA 5, EOA 7\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"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.\n* Roles:\n * **_ejectorManager**: Taiko Multisig\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **ejecters**: EOA 1, EOA 3\n * **operatorMapping**: EOA 4\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD019460881e6EeC632258222393d5821029b2ac#code"
}
],
"taiko": [
{
"name": "Anchor",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000010001",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1730452979,
"transactionHash": "0xdbe9caf2b1282d0fecf9a752f2c1aeade8820bb66bb5ad210f0081996504173b",
"implementations": [
"taiko:0x75E76c367D6be621bD90e4b1e32fBB3fF59150b6"
]
},
{
"timestamp": 1747624787,
"transactionHash": "0x07f68497c517181b0110a51906fb5f5938aafeda78e07cb0480de417c9083f1b",
"implementations": [
"taiko:0x3cfe9b8E0e12289D78c91295c8353aB1731F06E1"
]
},
{
"timestamp": 1754914103,
"transactionHash": "0x2f0b5bd30b1cfc929bb03518ce19a588d431bba847ae7c84daedcc2ddf521bf2",
"implementations": [
"taiko:0x1E3Fa8AD01327D891aB89B13091F93E4eaF7E8A5"
]
},
{
"timestamp": 1755179444,
"transactionHash": "0xf9f899beb269bd2cb1b74001493ec9ac41d83191b79b71878422c3f5a8fdb15b",
"implementations": [
"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0"
]
},
{
"timestamp": 1770777907,
"transactionHash": "0xd044da28e6a74c63e79bcf8ac14fec397dae61afc9166ca7754af5e0b6e5c7fb",
"implementations": [
"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9"
]
},
{
"timestamp": 1775138543,
"transactionHash": "0xd8f236e03789398270e7144a8b4456279ae6c82a44334fec3fb9d97bcc7c12d1",
"implementations": [
"taiko:0x38e4A497aD70aa0581BAc29747b0Ea7a53258585"
]
},
{
"timestamp": 1777563432,
"transactionHash": "0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de",
"implementations": [
"taiko:0x7e83Af941FDcf90EB44ED7dc8754a201B156E0BA"
]
}
],
"description": "Stores L1 block details on L2 as a cross-layer oracle and manages EIP-1559 gas pricing for L2 operations.\n* Roles:\n * **admin**: DelegateController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000010001#code"
},
{
"name": "DelegateController",
"isVerified": true,
"address": "taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x6900f893Fb1dcf2868c7799Ac9a2dAf1c046c6bF"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1748151239,
"transactionHash": "0x2d60398c8f22ebccc3e3dfc5771f95cb104b2ea003230444879b08d0649d01af",
"implementations": [
"taiko:0x6900f893Fb1dcf2868c7799Ac9a2dAf1c046c6bF"
]
}
],
"description": "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.\n* Roles:\n * **admin**: DelegateController; ultimately SignerList (Security Council)\n * **daoController**: TaikoDAOController",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000001",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1716802235,
"transactionHash": "0x094dd9452d79cbd74711f2b8065566e4431a05d0727c56d2b38195e40fd62805",
"implementations": [
"taiko:0xf961854D68368cFFc86d90AEe8a19E9781dACA3e"
]
},
{
"timestamp": 1716959027,
"transactionHash": "0x0b5d6acc9c5b8ef193920246081ec5ce7268111acfc1dce1f058bea06f3953c7",
"implementations": [
"taiko:0x98C5De7670aA7d47C6c0551fAD27Bfe464A6751a"
]
},
{
"timestamp": 1717148375,
"transactionHash": "0x4605c4ce594e996bdbdb532a9aefe4fab1ea36f7e2ef63eef56a7e8033810df3",
"implementations": [
"taiko:0x0893c8821Fa358D5f3630695Ce062204814359A1"
]
},
{
"timestamp": 1717486847,
"transactionHash": "0xc77434f4e37959cdc0eac125303b78dd192d8727173373cc7a6158ca7d829dad",
"implementations": [
"taiko:0x8FB67c2C16dc8578b6d69bc668236924f4c1B0f7"
]
},
{
"timestamp": 1717750463,
"transactionHash": "0x3004d3c240481a0470e20a59d2fa06522612ec48334209431f56f09ec9ad4b98",
"implementations": [
"taiko:0x878E72f1d435DbACe8B9C62e084c114ffbb84791"
]
},
{
"timestamp": 1719503519,
"transactionHash": "0xd55e1edee71bd71b9bca0d3826f758a46d688b6ffdd4058fccefc98dbed70165",
"implementations": [
"taiko:0xd95435c742c01B0E982913BcA252173Ae96DF61d"
]
},
{
"timestamp": 1719806771,
"transactionHash": "0xdf0348394d5e58f801de917575aafdc1cb55533b14a6e46fd460d1437238dc02",
"implementations": [
"taiko:0x4Ca6bE8C1Ec05beFB216bAEEF9EE36997e35E98E"
]
},
{
"timestamp": 1730452979,
"transactionHash": "0xdbe9caf2b1282d0fecf9a752f2c1aeade8820bb66bb5ad210f0081996504173b",
"implementations": [
"taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83"
]
}
],
"description": "Bridge escrow holding preminted ETH on Taiko.\n* Roles:\n * **admin**: DelegateController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000001#code"
},
{
"name": "ERC20Vault",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0xb96AbB41b01E3ad519D00E80355a1c3801910F62"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1716802307,
"transactionHash": "0x8a12626b2f2c9464b5f2525edc2010f371397ff12fe00cf49287a9b2a6b7ab99",
"implementations": [
"taiko:0x33fBcde27fBA21e90582Df31DFB427D4dbdBefC1"
]
},
{
"timestamp": 1717750463,
"transactionHash": "0x3004d3c240481a0470e20a59d2fa06522612ec48334209431f56f09ec9ad4b98",
"implementations": [
"taiko:0x1Edd50Cb6F99F172D435dB165FAACc410989625D"
]
},
{
"timestamp": 1718023859,
"transactionHash": "0xe2469feed31b46b8e6292156f5751decf023616599392e1d69a961075414a959",
"implementations": [
"taiko:0xFE081154eb71C61a059a265DD697Bde03513D5E3"
]
},
{
"timestamp": 1730452979,
"transactionHash": "0xdbe9caf2b1282d0fecf9a752f2c1aeade8820bb66bb5ad210f0081996504173b",
"implementations": [
"taiko:0xb96AbB41b01E3ad519D00E80355a1c3801910F62"
]
}
],
"description": "Escrow for L2-native tokens sent to L1 via the canonical bridge.\n* Roles:\n * **admin**: DelegateController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000002#code"
},
{
"name": "SignalService",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000005",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1747624787,
"transactionHash": "0x07f68497c517181b0110a51906fb5f5938aafeda78e07cb0480de417c9083f1b",
"implementations": [
"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762"
]
},
{
"timestamp": 1775138543,
"transactionHash": "0xd8f236e03789398270e7144a8b4456279ae6c82a44334fec3fb9d97bcc7c12d1",
"implementations": [
"taiko:0x2987F6Bef39b03F8522EC38B36aF0f7422938EAb"
]
},
{
"timestamp": 1777563432,
"transactionHash": "0xb09a7ea021566fa65e0891d3f45b369f61b639c6ef9b16b0d2a3bd52289bf3de",
"implementations": [
"taiko:0x18B27428cce679DFf84D09D6b07DF1E9EBb6fE28"
]
}
],
"description": "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.\n* Roles:\n * **admin**: DelegateController; ultimately SignerList (Security Council)\n * **owner**: DelegateController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000005#code"
},
{
"name": "L2AddressManager",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000006",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x0167000000000000000000000000000000000006"
]
},
"chain": "taiko",
"pastUpgrades": [],
"description": "Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n* Roles:\n * **admin**: DelegateController; ultimately SignerList (Security Council)\n * **owner**: DelegateController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000006#code"
}
]
},
"escrows": [
{
"address": "0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"sinceTimestamp": 1714550603,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"sinceTimestamp": 1714550603,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [
{
"title": "Batch proving program of Raiko v1.16.0",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/blob/b9da2b011d5427f3602cd7fbe7882b7a37b88f71/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout b9da2b011d5427f3602cd7fbe7882b7a37b88f71\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk bn256.",
"hash": "0x0026ff63d649779a5dbc88c3359ab83399a21fb6ef9b7ec082f77a8a465806e7"
},
{
"title": "Batch proving program of Raiko v1.16.0",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/blob/b9da2b011d5427f3602cd7fbe7882b7a37b88f71/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout b9da2b011d5427f3602cd7fbe7882b7a37b88f71\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk hash_bytes and will not have `0x` prefix.",
"hash": "0x137fb1eb125de6973791186659ab83394d10fdb73e6dfb0205eef514465806e7"
},
{
"title": "Aggregation program of Raiko v1.16.0",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/blob/b9da2b011d5427f3602cd7fbe7882b7a37b88f71/provers/sp1/guest/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout b9da2b011d5427f3602cd7fbe7882b7a37b88f71\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk bn256.",
"hash": "0x008e24716118be9594358d8882d93d5425f0827cf0a7a4fd0ea2fc4414debfe7"
},
{
"title": "Aggregation program of Raiko v1.16.0",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/blob/b9da2b011d5427f3602cd7fbe7882b7a37b88f71/provers/sp1/guest/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout b9da2b011d5427f3602cd7fbe7882b7a37b88f71\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk hash_bytes and will not have `0x` prefix.",
"hash": "0x471238b0462fa56506b1b1102d93d5422f8413e7429e93f41d45f88814debfe7"
},
{
"title": "Batch proving program of Raiko v1.16.1",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/tree/hotfix/hotfix-based-on-1.16.1/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout hotfix/hotfix-based-on-1.16.1\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk bn256.",
"hash": "0x0079682c7b5af614273de79761aaad20d1c8e1a65091388b81be836632d382f8"
},
{
"title": "Batch proving program of Raiko v1.16.1",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/tree/hotfix/hotfix-based-on-1.16.1/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout hotfix/hotfix-based-on-1.16.1\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk hash_bytes and will not have `0x` prefix.",
"hash": "0x3cb4163d56bd850967bcf2ec1aaad20d0e470d324244e22e037d06cc32d382f8"
},
{
"title": "Aggregation program of Raiko v1.16.1",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/tree/hotfix/hotfix-based-on-1.16.1/provers/sp1/guest/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout hotfix/hotfix-based-on-1.16.1\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk bn256.",
"hash": "0x0002ac747570512099ca19c17f5a3b9f39697e5617a19ff2f2b2464229a50c7c"
},
{
"title": "Aggregation program of Raiko v1.16.1",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko/tree/hotfix/hotfix-based-on-1.16.1/provers/sp1/guest/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout hotfix/hotfix-based-on-1.16.1\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled sp1 elf vk hash_bytes and will not have `0x` prefix.",
"hash": "0x01563a3a5c1448263943382f75a3b9f34b4bf2b05e867fcb65648c8429a50c7c"
},
{
"title": "Proposal program of Raiko2 v0.1.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/sp1/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.1.0\n```\nCommit hash should be `a3fb34237daeddab65b965c33b2f85570dd3ff74`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask-build-guest --bin xtask-build-guest -- all\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -p xtask-build-guest --bin guest-digests -- \\\n --output /tmp/raiko2-v0.1.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.1.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_proposal\"` and `digest_source: \"vk_bn254\"`. Its `digest` field should match this program hash.\n",
"hash": "0x0033e2cccc3296e7def7b381a4fb96fafec64f45420b6d24686779ef6236dff1"
},
{
"title": "Proposal program of Raiko2 v0.1.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/sp1/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.1.0\n```\nCommit hash should be `a3fb34237daeddab65b965c33b2f85570dd3ff74`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask-build-guest --bin xtask-build-guest -- all\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -p xtask-build-guest --bin guest-digests -- \\\n --output /tmp/raiko2-v0.1.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.1.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_proposal\"` and `digest_source: \"vk_hash_bytes\"`. Its `digest` field should match this program hash.\n",
"hash": "0x19f166660ca5b9f75ef670344fb96faf76327a2a082db49150cef3de6236dff1"
},
{
"title": "Aggregation program of Raiko2 v0.1.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/sp1/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.1.0\n```\nCommit hash should be `a3fb34237daeddab65b965c33b2f85570dd3ff74`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask-build-guest --bin xtask-build-guest -- all\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -p xtask-build-guest --bin guest-digests -- \\\n --output /tmp/raiko2-v0.1.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.1.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_aggregation\"` and `digest_source: \"vk_bn254\"`. Its `digest` field should match this program hash.\n",
"hash": "0x009d26a03d10b4e70eef6a339187c258a7701d6a0150524684cb46b56cf9e540"
},
{
"title": "Aggregation program of Raiko2 v0.1.0",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/sp1/src/shasta_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.1.0\n```\nCommit hash should be `a3fb34237daeddab65b965c33b2f85570dd3ff74`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask-build-guest --bin xtask-build-guest -- all\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -p xtask-build-guest --bin guest-digests -- \\\n --output /tmp/raiko2-v0.1.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.1.0-guest-digests.json`, find the entry with `object_name: \"sp1_shasta_aggregation\"` and `digest_source: \"vk_hash_bytes\"`. Its `digest` field should match this program hash.\n",
"hash": "0x4e93501e442d39c35ded4672187c258a3b80eb500541491a09968d6a6cf9e540"
},
{
"title": "Batch proving program of Raiko v1.16.0",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko/blob/b9da2b011d5427f3602cd7fbe7882b7a37b88f71/provers/risc0/guest/src/boundless_batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout b9da2b011d5427f3602cd7fbe7882b7a37b88f71\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled risc0 elf image id and will not have `0x` prefix.",
"hash": "0x779c032b91d0730ef13b26eafa47b32df7ebdaa4ed766d587fe905530afa2544"
},
{
"title": "Aggregation program of Raiko v1.16.0",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko/blob/b9da2b011d5427f3602cd7fbe7882b7a37b88f71/provers/risc0/guest/src/boundless_batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout b9da2b011d5427f3602cd7fbe7882b7a37b88f71\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled risc0 elf image id and will not have `0x` prefix.",
"hash": "0x26abb0237d10e891443e2a76bd3c1f6704c1ad03c07cb2165f4afcfc64b3cee7"
},
{
"title": "Batch proving program of Raiko v1.16.1",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko/tree/hotfix/hotfix-based-on-1.16.1/provers/risc0/guest/src/boundless_batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout hotfix/hotfix-based-on-1.16.1\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled risc0 elf image id and will not have `0x` prefix.",
"hash": "0x46efe5e0c74976548ee6856789fbfb4929b8f2f9118a119c57ced6e1062e727b"
},
{
"title": "Aggregation program of Raiko v1.16.1",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko/tree/hotfix/hotfix-based-on-1.16.1/provers/risc0/guest/src/boundless_batch.rs",
"verificationStatus": "successful",
"verificationSteps": "1. Install docker.\n2. Check out the correct branch in [raiko repo](https://github.com/taikoxyz/raiko/tree/main):\n```\ngit clone https://github.com/taikoxyz/raiko.git\ncd raiko\ngit checkout hotfix/hotfix-based-on-1.16.1\n```\n3. Execute `script/publish-image.sh` script that will rebuild zk programs from sources and output the necessary program hash:\n```\nchmod +x script/publish-image.sh\n./script/publish-image.sh\n```\nIn the options choose latest tag and zk. The hash will be labeled risc0 elf image id and will not have `0x` prefix.",
"hash": "0xdfbce2039ad8b78b236b5a9dceba5d8cee0d9e4638fc8f1fe11a0b2d8bfa039e"
},
{
"title": "Proposal program of Raiko2 v0.1.0",
"description": "Proves a Taiko Shasta proposal state transition with Raiko2.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/risc0/src/shasta_proposal.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.1.0\n```\nCommit hash should be `a3fb34237daeddab65b965c33b2f85570dd3ff74`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask-build-guest --bin xtask-build-guest -- all\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -p xtask-build-guest --bin guest-digests -- \\\n --output /tmp/raiko2-v0.1.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.1.0-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_proposal\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n",
"hash": "0xbee1be4cbe2bdf9b0034a1ab6572061a76019e73189ff96322e58ab229b75f92"
},
{
"title": "Boundless aggregation program of Raiko2 v0.1.0",
"description": "Aggregates RISC0 Boundless proofs for multiple Taiko Shasta proposals with Raiko2.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/risc0/src/boundless_aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\nDependencies: Git, Rust/Cargo, Docker with a running daemon, and either `just` or the equivalent Cargo command below. The build pulls Docker images and locked Rust/git dependencies.\n\n1. Check out the correct tag in [raiko2](https://github.com/taikoxyz/raiko2):\n```\ngit clone https://github.com/taikoxyz/raiko2.git\ncd raiko2\ngit checkout v0.1.0\n```\nCommit hash should be `a3fb34237daeddab65b965c33b2f85570dd3ff74`.\n2. From the `raiko2` root dir, rebuild the Shasta guest ELFs from source:\n```\njust build-guest all\n```\nIf `just` is unavailable, run the equivalent command:\n```\ncargo run -r -p xtask-build-guest --bin xtask-build-guest -- all\n```\nThis exports fresh ELFs to `crates/guests/elf`.\n3. Generate the guest digest summary from the rebuilt ELFs:\n```\ncargo run -p xtask-build-guest --bin guest-digests -- \\\n --output /tmp/raiko2-v0.1.0-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.1.0-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_boundless_aggregation\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n",
"hash": "0xcecc85819e15d173c2991577727525b136e820728f7aaaede612f1281cac2249"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C"
]
}