cfafbf3d (main)
and
20144326 (PR)
+75 -75
+75 -75
{
"addresses": {
"ethereum": [
{
"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": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728308027,
"transactionHash": "0x60eca85990bf426b85e3f3db9d9215e7fb229dce201a62401ad3d8a08ee5613c",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x5FB30336A8d0841cf15d452afA297cB6D10877D7"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the AggregateVerifier.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x49048044D57e1C92A77f79988d21Fa8fAF74E97e#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793907,
"transactionHash": "0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc",
"implementations": [
"eth:0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733958059,
"transactionHash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294",
"implementations": [
"eth:0x45C4e267aE21E90f72C8AbF43ddB5941c953482F"
]
},
{
"timestamp": 1738700927,
"transactionHash": "0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700927,
"transactionHash": "0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1750797287,
"transactionHash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b",
"implementations": [
"eth:0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1772559059,
"transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb",
"implementations": [
"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **batcherHash**: EOA 1\n * **owner**: Base Multisig 1",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73a79Fab69143498Ed3712e519A88a918e1f4072#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": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771973279,
"transactionHash": "0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43",
"implementations": [
"eth:0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02"
]
}
],
"description": "Base's own SuperchainConfig, used to manage pause states for the Base chain. The guardian and incident responder roles are immutable and set at construction time. The guardian can pause, unpause, and extend pauses, while the incident responder can only pause. Each pause automatically expires after 3 months.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **guardian**: Base Governance Multisig\n * **incident_responder**: Base Multisig 1",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb535ff7F118260a952CE65e7fF41B1743De8EE6c#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3154Cf16ccdb4C6d922629664174b904d80F2C35#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x608d94945A64503E642E6370Ec598e519a2C1E53",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x608d94945A64503E642E6370Ec598e519a2C1E53#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793907,
"transactionHash": "0x8869b94ddd0ba84b41d937708db7b8aa64948e85b3a11e970f22887a56b0b1d7",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x81C4Bd600793EBd1C0323604E1F455fE50A951F8"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x866E82a600A1414e583f7F13623F1aC5d58b0Afa#code"
},
{
"name": "HistoryStorage",
"isVerified": true,
"address": "eth:0x0000F90827F1C53a10cb7A02335B175320002935",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://eips.ethereum.org/EIPS/eip-2935"
}
],
"description": "EIP-2935 system contract storing the last 8191 L1 blockhashes. Bytecode is canonical to the EIP, deployed at the same address across networks.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0000F90827F1C53a10cb7A02335B175320002935#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Base Governance Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x3d2c2f8f95CAba644eA25319c4c08594b8DC0359"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84#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": "TEEProverRegistry",
"isVerified": true,
"address": "eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1779394811,
"transactionHash": "0xa94f74e29a92b8875b27a53a90195adba0f46b381f8c6bb5d6a51c98080da52b",
"implementations": [
"eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316"
]
}
],
"description": "Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA#code"
},
{
"name": "AggregateVerifier",
"isVerified": true,
"address": "eth:0x1bd8db5139Ba7aC9277684650c15e6E341761919",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (5d) to FAST_FINALIZATION_DELAY (1d).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1bd8db5139Ba7aC9277684650c15e6E341761919#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": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "TEEVerifier",
"isVerified": true,
"address": "eth:0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless verifier that validates AggregateVerifier TEE proofs by recovering an ECDSA signature over the journal and checking the recovered signer against TEEProverRegistry. Enforces PCR0 match by comparing the signer's registered image hash to the AggregateVerifier's TEE_IMAGE_HASH. Can be permanently nullified by a successful AggregateVerifier.nullify call.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228#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": "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 3",
"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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D#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": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6dDBa09bc4cCB0D6Ca9Fc5350580f74165707499#code"
},
{
"name": "Escrow",
"isVerified": true,
"address": "eth:0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3#code"
},
{
"name": "NitroEnclaveVerifier",
"isVerified": true,
"address": "eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ZK-based verifier of AWS Nitro Enclave attestation documents. Used by TEEProverRegistry to validate new enclave signer registrations against the AWS Nitro PKI.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb#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": "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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x4483F964F6711Cb55f633820ED174E780369b99D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x4483F964F6711Cb55f633820ED174E780369b99D"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x909f6cf47ed12f010A796527f562bFc26C7F4E72#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695935315,
"transactionHash": "0xac8580fdfdbb35af667cf9c5c5fa9d10c793486d10fcbea538efd9386b04c106",
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9de443AdC5A411E83F1878Ef24C3F52C61571e72#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": "SkyLink Bridge",
"isVerified": true,
"address": "eth:0xA5874756416Fa632257eEA380CAbd2E87cED352A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xaeFd31c2e593Dc971f9Cb42cBbD5d4AD7F1970b6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728571151,
"transactionHash": "0xde7d483c73060001a6d0ee88b5b9848bdb8a830a93a9579e956350b80296db83",
"implementations": [
"eth:0xaeFd31c2e593Dc971f9Cb42cBbD5d4AD7F1970b6"
]
}
],
"description": "Custom bridge for USDS and sUSDS managed by Sky governance.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA5874756416Fa632257eEA380CAbd2E87cED352A#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:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2#code"
},
{
"name": "ZkVerifier",
"isVerified": true,
"address": "eth:0xB88D95bDf6972508942d184866890c1834219B75",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Thin router that forwards SP1 ZK proof verification from the AggregateVerifier game to the SP1 verifier gateway. Can be permanently nullified by a successful AggregateVerifier.nullify call.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB88D95bDf6972508942d184866890c1834219B75#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x437c42d7927fe396E54da837d6aC57756cD868e3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1779394835,
"transactionHash": "0xdd0a92f8c5c98e49332f4d4349b9cf72f9da59dbfb9154ce6c532083072a6403",
"implementations": [
"eth:0x437c42d7927fe396E54da837d6aC57756cD868e3"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71#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": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0xdc32E228636273285Befa5F001dBB5142517C106",
"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**: Base Governance Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdc32E228636273285Befa5F001dBB5142517C106#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"
}
],
"base": [
{
"name": "FeeDisburser",
"isVerified": true,
"address": "base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xa966054731540a48b28990b63Dcf4f33d8aE57B2"
],
"implementations": [
"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693609603,
"transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278",
"implementations": [
"base:0x45969D00739d518f0Dde41920B67cE30395135A0"
]
},
{
"timestamp": 1772559377,
"transactionHash": "0x055b31e8fb8689e5e72d9c41c1c38b5a165fd145aa76bf118194f86a066d0650",
"implementations": [
"base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75"
]
},
{
"timestamp": 1773435991,
"transactionHash": "0x68c2a1b66361dcb9ec2f8b1fe26ae275021b6d78751d0577fc0bd410dfd47518",
"implementations": [
"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6"
]
}
],
"description": "Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n* Roles:\n * **admin**: EOA 2",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xd53210eE20948eCFF8B6B8180E29657e0ce8492d"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x54d194FaAe439fc3f8024801B0b9EBc91Ebd39f5"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xd53210eE20948eCFF8B6B8180E29657e0ce8492d"
]
}
],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716225807,
"transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0",
"implementations": [
"base:0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91"
]
}
],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24",
"implementations": [
"base:0x07dbe8500fc591d1852B76feE44d5a05e13097Ff"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"base:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias\n * **owner**: Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x4E207bDF8aece56de86821f5370b2b993D08C9E9"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xB0B77878bBc76E29aBE7584Bda27ae3CE1A9059a"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x4E207bDF8aece56de86821f5370b2b993D08C9E9"
]
}
],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "base:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x0c9034b92351cF8f067379a1fFA4fa35f5AF9dCC"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xD36F11023188134d0f4610fF0C6e01c1B11488f8"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x0c9034b92351cF8f067379a1fFA4fa35f5AF9dCC"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x75505a97BD334E7BD3C476893285569C4136Fa0F"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1694184179,
"transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27",
"implementations": [
"base:0x75505a97BD334E7BD3C476893285569C4136Fa0F"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1694184179,
"transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27",
"implementations": [
"base:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000021#code"
}
]
},
"escrows": [
{
"address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"sinceTimestamp": 1686793895,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x5FB30336A8d0841cf15d452afA297cB6D10877D7"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x49048044D57e1C92A77f79988d21Fa8fAF74E97e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"sinceTimestamp": 1686793895,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3154Cf16ccdb4C6d922629664174b904d80F2C35#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"sinceTimestamp": 1695935315,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695935315,
"transactionHash": "0xac8580fdfdbb35af667cf9c5c5fa9d10c793486d10fcbea538efd9386b04c106",
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x9de443AdC5A411E83F1878Ef24C3F52C61571e72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"sinceTimestamp": 1728571115,
"tokens": [
"USDS",
"sUSDS"
],
"contract": {
"isVerified": true,
"address": "eth:0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for USDS and sUSDS bridged with canonical messaging.",
"url": "https://etherscan.io/address/0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of Base AggregateVerifier",
"programUrl": "https://github.com/base/base/tree/v1.1.1/crates/proof/succinct/programs/aggregation",
"description": "Aggregates range proofs of correct execution for several consecutive sub-ranges of Base L2 blocks.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`.\n3. Install docker \n4. Install `lld` (required by the repo's `.cargo/config.toml`)\n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v1.1.1`. Commit hash should be `01e732cdbae0c624d652da9e608d7d3fe0f9c74b`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just succinct build-elfs` to build the range and aggregation SP1 ELFs (reproducible `cargo prove build --docker --tag v6.2.3`). Built elfs are placed in `crates/proof/succinct/elf/`.\n4. From the repo root: `just succinct write-manifest` to sync `crates/proof/succinct/elf/manifest.toml` to the freshly built ELFs.\n5. From the repo root: `just succinct vkeys` to print the range and aggregation verification key hashes.",
"hash": "0x001df6dffb10eebfa70e392bb6a4d0d1e3e5ac48cf07d473b6c244bdd8243a3b"
},
{
"title": "Range program of Base AggregateVerifier",
"programUrl": "https://github.com/base/base/tree/v1.1.1/crates/proof/succinct/programs/range/ethereum",
"description": "Proves correct state transition function of the Base rollup over a sub-range of L2 blocks.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`.\n3. Install docker \n4. Install `lld` (required by the repo's `.cargo/config.toml`)\n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v1.1.1`. Commit hash should be `01e732cdbae0c624d652da9e608d7d3fe0f9c74b`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just succinct build-elfs` to build the range and aggregation SP1 ELFs (reproducible `cargo prove build --docker --tag v6.2.3`). Built elfs are placed in `crates/proof/succinct/elf/`.\n4. From the repo root: `just succinct write-manifest` to sync `crates/proof/succinct/elf/manifest.toml` to the freshly built ELFs.\n5. From the repo root: `just succinct vkeys` to print the range and aggregation verification key hashes.",
"hash": "0x505c97f13a996b722a90d54753fb82de5ce1b9e94bd499a46d42b2982188d677"
},
{
"title": "Set builder program",
"description": "Recursively verifies a Merkle tree of zk proofs at once, identified by a Merkle Mountain Range root.",
"programUrl": "https://github.com/risc0/risc0-ethereum/tree/v3.0.1/crates/aggregation/guest/set-builder",
"proverSystemProject": "risc0",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct image ID only on linux OS. Steps below were done on Ubuntu 22.04 OS.\n\nPrepare:\n\n1. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`, then `. .cargo/env`.\n2. Install dependency libs `sudo apt-get install build-essential`.\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n4. Install the risc zero toolkit `curl -L https://risczero.com/install | bash`, then `rzup install`.\n\nVerify:\n\n1. Checkout the correct branch in [risc0-ethereum](https://github.com/risc0/risc0-ethereum/tree/main) repo: `git checkout v3.0.1` . Commit hash should be `365e7b2db4f620fa256580c27558d2623362b9ae `.\n2. Make sure docker is running by running `docker ps `.\n3. Set env var to use Risc Zero docker build: `export RISC0_USE_DOCKER=1`.\n4. From the repo root dir: `cargo risczero build --manifest-path crates/aggregation/guest/set-builder/Cargo.toml` to build elf binaries from sources. This command should output correct ImageID.",
"hash": "0x70909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc9"
},
{
"title": "TEE enclave image hash of Base client",
"programUrl": "https://github.com/base/base/tree/v1.1.1/crates/proof/tee/nitro-enclave",
"description": "TEE image hash of Base L2 node program. AWS Nitro Enclave attestations guarantee that exactly this program was run within a TEE.",
"verificationStatus": "successful",
"verificationSteps": "Regeneration steps below require Linux OS, they will produce a different hash on MacOS.\n\nPrepare:\n\n1. Install docker \n2. Install `just` version `>=1.31.0`: \n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v1.1.1`. Commit hash should be `01e732cdbae0c624d652da9e608d7d3fe0f9c74b`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just tee build-eif` to build the TEE image in a docker container.\n4. Extract `PCR0` from the build EIF: `just tee describe-eif`\n5. Compute image hash as keccak256 of the PCR0: `cast keccak \"0x\"`, where `PCR0_hex` is taken from the output of the previous step.",
"hash": "0x58557c709e93357a135041297107aecc4bc6ba616509098a4aa8dbef774d212a"
},
{
"title": "AWS Nitro TEE attestation verifier for Base",
"programUrl": "https://github.com/base/base/tree/v0.9.0/crates/proof/tee/nitro-attestation-prover",
"description": "RISC Zero guest program that verifies an AWS Nitro TEE Enclave attestation document.",
"proverSystemProject": "risc0",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install docker https://docs.docker.com/get-started/get-docker/ and make sure it's running: `docker ps`.\n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v0.9.0`. Commit hash should be `0276bb4eb9b3ee37703bd818c8df71e3d31594fb`.\n2. From the repo root, build the builder image (once): `docker build --platform=linux/amd64 -t nitro-guest-builder crates/proof/tee/nitro-attestation-prover/guest`.\n3. From the repo root, build the guest and print the image ID: `docker run --rm --platform=linux/amd64 -v \"$(pwd)\":/build/base nitro-guest-builder verify`.\n4. Compare the printed `Image ID` against this hash.",
"hash": "0x20141665fe40bce01fbcfa0a95c8a1bd750eadbe3f24e06a75571e6fd7a9dc11"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Upgrades must be approved by 2 parties: the Base Coordinator Multisig and the Base Security Council. There is no delay on upgrades."
}
],
"zkVerifiers": [
"eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2",
"eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF"
]
}
+75 -75
+75 -75
{
"addresses": {
"ethereum": [
{
"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": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862419,
"transactionHash": "0x86a85eda6fa19f4bcfe42bfe648335d93dde76ba0c31e0582608eefe04dd29b5",
"implementations": [
"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753214303,
"transactionHash": "0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3",
"implementations": [
"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x96123dbFC3253185B594c6a7472EE5A21E9B1079",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752686063,
"transactionHash": "0x3e95a733128abc9cdbd115a77debd0838071a349ac5312955eceda05f647cd6e",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x96123dbFC3253185B594c6a7472EE5A21E9B1079#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862287,
"transactionHash": "0x0acb268e79a76416f50ff0418ab696ada4497fc8ff33747d5edc352ef1d5d1db",
"implementations": [
"eth:0xaa0A1EfD35d6578ea6B5704dbc2c40B36A55B590"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xACB886b75D76d1c8d9248cFdDfA09b70C71c5393#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": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xE925205ad05D8d612Ac205C4941CCd61Fc965C46",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752682883,
"transactionHash": "0x4fa702e7eff31a313f049d76f06b704a40c7c520d09ccbf8f9373ca25a6ec37e",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1\n * **guardian**: Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE925205ad05D8d612Ac205C4941CCd61Fc965C46#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862323,
"transactionHash": "0x4fca0abc9070a610b427308a8db3834aa45a425d87a261c2331eb633974de603",
"implementations": [
"eth:0xA67fc05D295d2Be6bC4cBfad4f880c1c58734212"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5fF93263D5181b2A826f8c51d54BC0da2d20D50a#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862131,
"transactionHash": "0x49ca0455d3479f3dec361e05c5b47ac8634c14ca765ad8770401421a038eb39d",
"implementations": [
"eth:0xE3d981643b806FB8030CDB677D6E60892E547EdA"
]
},
{
"timestamp": 1712862371,
"transactionHash": "0x352fc46bb0f6c989aeb3dcb8490cd8d4a74bcfe919f9136b60dcfcbd9405a6a4",
"implementations": [
"eth:0x237853621998a33Fa5B9B820592F4c6f4c158c12"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3d981643b806FB8030CDB677D6E60892E547EdA#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713786239,
"transactionHash": "0x5c9f70728478f27141b59caee9f7e5e113aa710ae69566331419b511d6e4638b",
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x091dF5E1284E49fA682407096aD34cfD42B95B72#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**: EOA 2\n * **defaultAdmin**: TimelockController; ultimately EOA 2\n * **executor**: EOA 2\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Bob Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x15F80920C8Fec136e2A804E04f26203FF8dAd19A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x15F80920C8Fec136e2A804E04f26203FF8dAd19A#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1A08BA77CB95184Ea0C31e56f199Db068eb6B35d#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**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#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": "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 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "KailuaGame",
"isVerified": true,
"address": "eth:0x4BE239c86364eD73fc244A5F50c8ccB101a492eF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4BE239c86364eD73fc244A5F50c8ccB101a492eF#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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862335,
"transactionHash": "0xd74512bff91a91df00074f49532b5b49055c084c7adfece6155d7300013a0eac",
"implementations": [
"eth:0x0640c9377a4fAC00225097EACbB0295f4D5fbd76"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1752759527,
"transactionHash": "0xfdd53dea057419dee4a1f773029c57925865a0db916df2eddf1dbc988e6f3d56",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5557408ab14013ce9Dbb300dE0D87D386BB09cb6#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#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**: EOA 2",
"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**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#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 EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "KailuaTreasury",
"isVerified": true,
"address": "eth:0x9B3E1661bccAF907893B71e4016c01513ae9263C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Entrypoint for state root proposals. Manages bonds (currently 0.5 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory. The current vanguard advantage is defined here as 0s.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9B3E1661bccAF907893B71e4016c01513ae9263C#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**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa70ddfb3e00fCFD083E64B200FE867104f703E1c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Bob Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa70ddfb3e00fCFD083E64B200FE867104f703E1c#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xC9AC21AcD8696B64270716528bF83630Ea7a293c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0xd0216bdcC195abDF77746B6a6347CE85e2535431"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Bob Multisig 1",
"upgradableBy": [
{
"name": "Bob Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC9AC21AcD8696B64270716528bF83630Ea7a293c#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**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#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"
}
]
},
"escrows": [
{
"address": "0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"sinceTimestamp": 1712862059,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712862419,
"transactionHash": "0x86a85eda6fa19f4bcfe42bfe648335d93dde76ba0c31e0582608eefe04dd29b5",
"implementations": [
"eth:0x994e3B01D130944a3E67BFd3B8Fc73069b959FEc"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1752758927,
"transactionHash": "0x1d93c182527e3c738f03ffb7baf66bbddfb29e1e60bbd9f5457c7de1a90eaaf1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1752761915,
"transactionHash": "0x5fc7da71db9e1541e3eeeedbc3dd3058bf01b5d03b10eee95eaa5668e9efd74e",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753214303,
"transactionHash": "0xa7881069c54f1028d42b83406ac5a768154f8ff34ad37ec7641b4d45766e77c3",
"implementations": [
"eth:0xB250566074B3c0f1B109A531A83f3d9B1a579273"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920023,
"transactionHash": "0xd025dbac937aa7bd1c53511421d35cc97c18a848ebb123cc85e910ab517a8922",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1773311975,
"transactionHash": "0x0c0e889a96e766d168753f3e596af7d57a9c07f7d84fb0ba05e3d46adf61ddd8",
"implementations": [
"eth:0x3C877699263119022Cdaa251058c1BAc8Fc43287"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x8AdeE124447435fE03e3CD24dF3f4cAE32E65a3E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"sinceTimestamp": 1712862107,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN"
],
"contract": {
"isVerified": true,
"address": "eth:0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0d9f416260598313Be6FDf6B010f2FbC34957Cd0"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3F6cE1b36e5120BBc59D0cFe8A5aC8b6464ac1f7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"sinceTimestamp": 1713786239,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x091dF5E1284E49fA682407096aD34cfD42B95B72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713786239,
"transactionHash": "0x5c9f70728478f27141b59caee9f7e5e113aa710ae69566331419b511d6e4638b",
"implementations": [
"eth:0xB531445401926029B1647669cFAc8b4e5d8C7777"
]
}
],
"url": "https://etherscan.io/address/0x091dF5E1284E49fA682407096aD34cfD42B95B72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Kailua fault proof program BOB",
"description": "Program that executes OP Kona client to derive blocks and generate fault or validity proofs, is a part of ZK non-interactive kailua fault proof system. This version adds op-contracts v5 compatibility.",
"proverSystemProject": "risc0",
"verificationStatus": "notVerified",
"hash": "0x4aca4abde3db9c42152b4d9eb359e6030111c34ba68f7c68160fce93ed5b7b25"
},
{
"title": "Set builder program",
"description": "Recursively verifies a Merkle tree of zk proofs at once, identified by a Merkle Mountain Range root.",
"programUrl": "https://github.com/risc0/risc0-ethereum/tree/v3.0.1/crates/aggregation/guest/set-builder",
"proverSystemProject": "risc0",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct image ID only on linux OS. Steps below were done on Ubuntu 22.04 OS.\n\nPrepare:\n\n1. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`, then `. .cargo/env`.\n2. Install dependency libs `sudo apt-get install build-essential`.\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n4. Install the risc zero toolkit `curl -L https://risczero.com/install | bash`, then `rzup install`.\n\nVerify:\n\n1. Checkout the correct branch in [risc0-ethereum](https://github.com/risc0/risc0-ethereum/tree/main) repo: `git checkout v3.0.1` . Commit hash should be `365e7b2db4f620fa256580c27558d2623362b9ae `.\n2. Make sure docker is running by running `docker ps `.\n3. Set env var to use Risc Zero docker build: `export RISC0_USE_DOCKER=1`.\n4. From the repo root dir: `cargo risczero build --manifest-path crates/aggregation/guest/set-builder/Cargo.toml` to build elf binaries from sources. This command should output correct ImageID.",
"hash": "0x70909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc9"
}
],
"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:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D"
]
}
+15 -15
+15 -15
{
"addresses": {
"ethereum": [
{
"name": "KailuaTreasury",
"isVerified": true,
"address": "eth:0x01853F268B170D4A15D0c3AE905757b5Ec8375f3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Entrypoint for state root proposals. Manages bonds (currently 0.00001 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x01853F268B170D4A15D0c3AE905757b5Ec8375f3#code"
},
{
"name": "BunnyInbox",
"isVerified": true,
"address": "eth:0x02B8d1329B653d6f53A8420C8DDbBbb5518F51b2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x92e0E0B15e3e99b32c9ED9AD284F939553C7b7d6"
],
"implementations": [
"eth:0x59888ea06a54bdC7d495c24513ed5b7A58ed7804"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770465023,
"transactionHash": "0xaa48d9c351ba528761b2e9b5e774f15c55a6c3967c17b1b9ef7a60babcd12212",
"implementations": [
"eth:0x59888ea06a54bdC7d495c24513ed5b7A58ed7804"
]
}
],
"description": "Onchain EigenDA certificate verification inbox. Receives batch data, strips 4-byte prefix, RLP-decodes EigenDACertV3 and calls the EigenDACertVerifier to validate the certificate. Used as the batch inbox for EigenDA-based data availability.\n* Roles:\n * **admin**: Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02B8d1329B653d6f53A8420C8DDbBbb5518F51b2#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x1ED92E1bc9A2735216540EDdD0191144681cb77E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x7f84fEb1cEb9C91844ee80C63d153d9128Fb40e9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x2425EB983A470eDE96E33c4E969Ac5440a80a639"
]
},
{
"timestamp": 1770612479,
"transactionHash": "0x9c539698c6852b92c7289498f8b808d3ede8c412362dbb31c485c94e09e0cd10",
"implementations": [
"eth:0x7f84fEb1cEb9C91844ee80C63d153d9128Fb40e9"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe\n * **batcherHash**: EOA 1\n * **owner**: Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1ED92E1bc9A2735216540EDdD0191144681cb77E#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x411e56a890c5fe0712f6F345977815Ba8E7785C3",
"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/0x411e56a890c5fe0712f6F345977815Ba8E7785C3#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x7f82f57F0Dd546519324392e408b01fcC7D709e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x31f6E6a37ce650723EBf082EC59A48779be9Af99"
]
},
{
"timestamp": 1766022743,
"transactionHash": "0x79b2cfcd6e5c08d9912d7450c4f77db522be234ea86b4c7db6c10fc0b711b353",
"implementations": [
"eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the KailuaGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7f82f57F0Dd546519324392e408b01fcC7D709e8#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x8546840adF796875cD9AAcc5B3B048f6B2c9D563",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8546840adF796875cD9AAcc5B3B048f6B2c9D563#code"
},
{
"name": "StakeRegistry",
"isVerified": true,
"address": "eth:0x006124Ae7976137266feeBFb3F4D2BE4C073139D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x1C468cf7089D263c2f53e2579b329B16aBc4dd96"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353799,
"transactionHash": "0x67b4fa469020a02fb0ab975c67604ada64cb11cdb170d44a3108cc67a9037bad",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0xb72070366da1397312ab26f2128e3be250c3f9b8fa7164694e55d052f8d9f8ac",
"implementations": [
"eth:0x1C468cf7089D263c2f53e2579b329B16aBc4dd96"
]
}
],
"description": "Keeps track of the total stake of each operator.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x006124Ae7976137266feeBFb3F4D2BE4C073139D#code"
},
{
"name": "BLSApkRegistry",
"isVerified": true,
"address": "eth:0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x5d0B9cE2e277Daf508528E9f6Bf6314E79e4eD2b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353799,
"transactionHash": "0xd0aab9a017adecfb4a605cd0c0790eaa6776e15054ddae552970406fc2320dd8",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0x02bfebfdc5898228aafc5da844daeea8bc9c810ee1ee17f555d46da13247f13c",
"implementations": [
"eth:0x5d0B9cE2e277Daf508528E9f6Bf6314E79e4eD2b"
]
}
],
"description": "Keeps track of the BLS public keys of each operator and the quorum aggregated keys.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505#code"
},
{
"name": "RegistryCoordinator",
"isVerified": true,
"address": "eth:0x0BAAc79acD45A023E19345c352d8a7a83C4e5656",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x2088435ABcB1234A9427B755931C9064C93a2595"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353787,
"transactionHash": "0x3a9b2c12f66b0acc238c64eebdf84faee5e7539710be705584432368f1724d7f",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0x6a6489dbfbe688c34d924a3e86de303d3d427dc328652e931926333729f242be",
"implementations": [
"eth:0xd3e09a0c2A9A6FDf5E92aE65D3CC090A4dF8EECF"
]
},
{
"timestamp": 1721834291,
"transactionHash": "0x28e327c2afc40ceec4bbc6e6a960b2f7744632a20e48da93c657bdd82c92bf5c",
"implementations": [
"eth:0xdcabf0bE991d4609096CCe316df08d091356E03F"
]
},
{
"timestamp": 1748556275,
"transactionHash": "0xfa483d640a2793a223b75e6a2c6fb8f9eaa2a1c0df1e6ca69d7d332251981282",
"implementations": [
"eth:0x2088435ABcB1234A9427B755931C9064C93a2595"
]
}
],
"description": "Operators register here with an AVS: The coordinator has three registries: 1) a `StakeRegistry` that keeps track of operators' stakes, 2) a `BLSApkRegistry` that keeps track of operators' BLS public keys and aggregate BLS public keys for each quorum, 3) an `IndexRegistry` that keeps track of an ordered list of operators for each quorum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **churnApprover**: EOA 7\n * **owner**: EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0BAAc79acD45A023E19345c352d8a7a83C4e5656#code"
},
{
"name": "EjectionManager",
"isVerified": true,
"address": "eth:0x130d8EA0052B45554e4C99079B84df292149Bd5E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0xC125fECDDabFe13f29EB287Bb8551892AEE7C98A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715347895,
"transactionHash": "0xb9f7f80114bf8e8fa3092fb298aa8aae1bccbb04b36516667396b5b12a6a23e0",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1715347895,
"transactionHash": "0xd04d3d0dbf04adf100c0edbe832d60786758b828ce9073e205b8ab3675864d32",
"implementations": [
"eth:0x1A27AC48D40F70213Ae6ec64f66852e0A1a0E6fa"
]
},
{
"timestamp": 1723045967,
"transactionHash": "0x7dcee857c6f42698dd0db59a3032770cdffa8607b6902fee32f3d498991df44a",
"implementations": [
"eth:0x33A517608999DF5CEfFa2b2EbA88B4461c26Af6f"
]
},
{
"timestamp": 1748556275,
"transactionHash": "0xfa483d640a2793a223b75e6a2c6fb8f9eaa2a1c0df1e6ca69d7d332251981282",
"implementations": [
"eth:0xC125fECDDabFe13f29EB287Bb8551892AEE7C98A"
]
}
],
"description": "Contract used for ejection of operators from the RegistryCoordinator for violating the Service Legal Agreement (SLA).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **ejectors**: EOA 4, EOA 6, EigenDA Multisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x130d8EA0052B45554e4C99079B84df292149Bd5E#code"
},
{
"name": "SocketRegistry",
"isVerified": true,
"address": "eth:0x5a3eD432f2De9645940333e4474bBAAB8cf64cf2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x5b60105ceD5207D6ad217BF2d426e133454eCFB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733339723,
"transactionHash": "0xac0215d6889603e179b545d19d00944d5655764c4763ef724ffd7956b4d346b2",
"implementations": [
"eth:0x5b60105ceD5207D6ad217BF2d426e133454eCFB4"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5a3eD432f2De9645940333e4474bBAAB8cf64cf2#code"
},
{
"name": "EigenDADisperserRegistry",
"isVerified": true,
"address": "eth:0x78cb05379a3b66E5227f2C1496432D7FFE794Fad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x7DECf99BE82Ea4Cf72F381a5fCBc04228955FBE5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750295,
"transactionHash": "0x19a69477f502e4c9c6ffa34582f15519fcd131c25e889864b5ce976d865bacd2",
"implementations": [
"eth:0x7DECf99BE82Ea4Cf72F381a5fCBc04228955FBE5"
]
}
],
"description": "Registry for EigenDA disperser info such as disperser key to address mapping.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **dispersers**: EOA 9",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x78cb05379a3b66E5227f2C1496432D7FFE794Fad#code"
},
{
"name": "EigenDAServiceManager",
"isVerified": true,
"address": "eth:0x870679E138bCdf293b7Ff14dD44b70FC97e12fc0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0xae448D008B6F69033AfdA361b46b36C472B6FEE0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353787,
"transactionHash": "0x0742f1a4d072fc85fe39830a9d21536bf3e09c0ce5a7571cab93bd85d09ff576",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0xb51ad742d1c13af667acb1608d33790a5dcc4970153a6ac2f415390b16fb485e",
"implementations": [
"eth:0xF5fD25A90902c27068CF5eBe53Be8da693Ac899e"
]
},
{
"timestamp": 1715289191,
"transactionHash": "0xb40a6884127043977ba87604e5b6a7447b7f8e6fa88b3ab3d940507c8e1c92d8",
"implementations": [
"eth:0x26089e9738b809d8308B0011B93b4225a112DB8C"
]
},
{
"timestamp": 1716321419,
"transactionHash": "0x43cca617c25c2c5ac4164bdfbeedb8dbf7325056844893fe61bb9e2034ebad1e",
"implementations": [
"eth:0xCDFFF07d5b8AcdAd13607615118a2e65030f5be1"
]
},
{
"timestamp": 1722701675,
"transactionHash": "0xfacff9a26f07d7ae55c6b9fc80059faa016f249c4624841cfcd43c34717cbaf7",
"implementations": [
"eth:0x0D2C5FD4Bb956cDD48A23fC3Ef77a768a5cDbAf7"
]
},
{
"timestamp": 1726582631,
"transactionHash": "0xaedce35d052ceaed37943107a78d8fb3d833ac5619edeab62a8772d67afaaff9",
"implementations": [
"eth:0x58fDE694Db83e589ABb21A6Fe66cb20Ce5554a07"
]
},
{
"timestamp": 1748556275,
"transactionHash": "0xfa483d640a2793a223b75e6a2c6fb8f9eaa2a1c0df1e6ca69d7d332251981282",
"implementations": [
"eth:0xae448D008B6F69033AfdA361b46b36C472B6FEE0"
]
}
],
"description": "Bridge contract that accepts blob batches data availability attestations. Batches availability is attested by EigenDA operators signatures and relayed to the service manager contract by the EigenDA disperser.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **batchConfirmers**: EOA 2, EOA 3, EOA 5\n * **owner**: EigenDAOperationsMultisig\n * **pauserRegistry**: PauserRegistry\n * **rewardsInitiator**: EigenLayerRewardsInitiatorMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x870679E138bCdf293b7Ff14dD44b70FC97e12fc0#code"
},
{
"name": "PaymentVault",
"isVerified": true,
"address": "eth:0xb2e7ef419a2A399472ae22ef5cFcCb8bE97A4B05",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x62242213E6FA34E943844f9B3124150EFb9CB0dD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750295,
"transactionHash": "0x359ca1fa527881edba34879bf633971940ab7addc0c00d96eebbe318fb3f8bd5",
"implementations": [
"eth:0x62242213E6FA34E943844f9B3124150EFb9CB0dD"
]
}
],
"description": "Entrypoint for making reservations and on demand payments for EigenDA.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb2e7ef419a2A399472ae22ef5cFcCb8bE97A4B05#code"
},
{
"name": "IndexRegistry",
"isVerified": true,
"address": "eth:0xBd35a7a1CDeF403a6a99e4E8BA0974D198455030",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x1ae0b73118906f39D5ED30Ae4A484ce2F479a14c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353799,
"transactionHash": "0xfebe64f00a8d96fe319e7b388f6cf4c4fb343dac129610a1c978f2ffc2e70a36",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0x59468c0a593e95396455fade35463fcff5e9e310e1da5fef0de8f9ad00645acc",
"implementations": [
"eth:0x1ae0b73118906f39D5ED30Ae4A484ce2F479a14c"
]
}
],
"description": "A registry contract that keeps track of an ordered list of operators for each quorum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBd35a7a1CDeF403a6a99e4E8BA0974D198455030#code"
},
{
"name": "EigenDARelayRegistry",
"isVerified": true,
"address": "eth:0xD160e6C1543f562fc2B0A5bf090aED32640Ec55B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0xF6D82FBBdf700c086389e72C3023812e956ECa9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750223,
"transactionHash": "0x5542d5049911c1b3f1a3d0e2f2c861a7e473c817622998049b78529202e6a374",
"implementations": [
"eth:0xF6D82FBBdf700c086389e72C3023812e956ECa9e"
]
}
],
"description": "Registry for EigenDA relay keys, maps key to address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **relayers**: EOA 8",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD160e6C1543f562fc2B0A5bf090aED32640Ec55B#code"
},
{
"name": "EigenDAThresholdRegistry",
"isVerified": true,
"address": "eth:0xdb4c89956eEa6F606135E7d366322F2bDE609F15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x92104977f16dAe423966caa5cD9C115F2D25a8D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750211,
"transactionHash": "0x903e00f79e1b98e13ebbc40db4c023249e3dca47685bd30ad86962d60aa83292",
"implementations": [
"eth:0x92104977f16dAe423966caa5cD9C115F2D25a8D6"
]
}
],
"description": "Registry of EigenDA threshold (i.e, adversary and confirmation threshold percentage for a quorum)\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdb4c89956eEa6F606135E7d366322F2bDE609F15#code"
},
{
"name": "AVSDirectory",
"isVerified": true,
"address": "eth:0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xcD35Cef328b496fA9d70a8d7C34EF3434614862b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711141931,
"transactionHash": "0x40573c645ceaa15139d3fe9a736ff5cc230ccb1c11961dcd9a3152d990c1fb71",
"implementations": [
"eth:0xdAbdB3Cd346B7D5F5779b0B614EdE1CC9DcBA5b7"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xA396D855D70e1A1ec1A0199ADB9845096683B6A2"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xcD35Cef328b496fA9d70a8d7C34EF3434614862b"
]
}
],
"description": "* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d",
"unreachable": true
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no",
"unreachable": true
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF#code"
},
{
"name": "DelegationManager",
"isVerified": true,
"address": "eth:0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xE7022a128Acd4C6cad7aFf6FA874D61f984BcE75"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686348935,
"transactionHash": "0x0445e4e9a7cab1da004f9c1dda8f56d27bdd14f18c3a4640ed44e0a2b60f84e7",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1686348995,
"transactionHash": "0x7748101d59e54a345c328c4ec60713a378445cb1a35da6042bcab6ee22fcfd8b",
"implementations": [
"eth:0xf97E97649Da958d290e84E6D571c32F4b7F475e4"
]
},
{
"timestamp": 1712594159,
"transactionHash": "0x39a8f50ef3a5e0cba11b2556bcf3f95ece0797de15b2fdde2f5820361da19b13",
"implementations": [
"eth:0x1784BE6401339Fc0Fedf7E9379409f5c1BfE9dda"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xA75112d1df37FA53a431525CD47A7d7faCEA7E73"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x6EEd6c2802dF347e05884857CdDB2D3E96D12F89"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xE7022a128Acd4C6cad7aFf6FA874D61f984BcE75"
]
}
],
"description": "The DelegationManager contract is responsible for registering EigenLayer operators and managing the EigenLayer strategies delegations. The EigenDA StakeRegistry contract reads from the DelegationManager to track the total stake of each EigenDA operator.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d",
"unreachable": true
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no",
"unreachable": true
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x5d0Ff601BC8580D8682c0462df55343Cb0b99285",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xab48b73a9e59aF01AfE91e18cA0774295581d07A"
],
"implementations": [
"eth:0x2F64d234f1Ec6bA2eA6914d943c99b45fFF14E89"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796867,
"transactionHash": "0x82d037751224f846bdac2ea6c548b54fbe7f4c584cd5ce20e1ca1568d47ac4bd",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1766023235,
"transactionHash": "0xcf4419b7fd683f75f9619984db245eca086853395d6f033099ad7e00b0eb4518",
"implementations": [
"eth:0x2F64d234f1Ec6bA2eA6914d943c99b45fFF14E89"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe\n * **guardian**: Safe; ultimately EOA 10",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5d0Ff601BC8580D8682c0462df55343Cb0b99285#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x3D8ee269F87A7f3F0590c5C0d825FFF06212A242",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3D8ee269F87A7f3F0590c5C0d825FFF06212A242#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x6C7198250087B29A8040eC63903Bc130f4831Cc9",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6C7198250087B29A8040eC63903Bc130f4831Cc9#code"
},
{
"name": "MegaPreDepositVaultRefund",
"isVerified": true,
"address": "eth:0x22cfa62eD71922781984aA2AcffEfA9a82593071",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Refund escrow designed to hold the funds extracted from the predeposit vault and send them back to the users listed in the vault.\n* Roles:\n * **defaultAdmin**: Safe\n * **executor**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x22cfa62eD71922781984aA2AcffEfA9a82593071#code"
},
{
"name": "MegaUSDmPreDeposit",
"isVerified": true,
"address": "eth:0x46D6Eba3AECD215a3e703cdA963820d4520b45D6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Predeposit Escrow, not connected to an L2: Users can deposit USDC. The system uses off-chain permit signatures to ensure only KYC'd users can deposit. Withdrawals can only be made by Megaeth Multisig to MegaPreDepositVaultRefund.\n* Roles:\n * **owner**: Megaeth Multisig\n * **permitSigner**: EOA 11",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x46D6Eba3AECD215a3e703cdA963820d4520b45D6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x15fCB0120D414f246ead019cA4BdF97447cd8d90#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x411e56a890c5fe0712f6F345977815Ba8E7785C3",
"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/0x411e56a890c5fe0712f6F345977815Ba8E7785C3#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8247EF5705d3345516286B72bFE6D690197C2E99",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EigenDAOperationsMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8247EF5705d3345516286B72bFE6D690197C2E99#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x86183e7b1D908D9A5C3Bc59cC2232F2ffE4E7145",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe\n * **owner**: Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x86183e7b1D908D9A5C3Bc59cC2232F2ffE4E7145#code"
},
{
"name": "KailuaGame",
"isVerified": true,
"address": "eth:0x8c0Ed8Dd0CcF6d596e321d81eD895ad51fE30B84",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation of the KailuaGame with type 1337. Based on this implementation, new KailuaGames are created with every new state root proposal.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8c0Ed8Dd0CcF6d596e321d81eD895ad51fE30B84#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x910b159F79288DD706789ec7768E979d4D88C057",
"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 (0x0A383fF8387CF07315f476D1686E95b1a97adc97).\n* Roles:\n * **owner**: EOA 10",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x910b159F79288DD706789ec7768E979d4D88C057#code"
},
{
"name": "EigenDACertVerifier",
"isVerified": true,
"address": "eth:0xa4F38615e6a1846ccD7ff08E8179CBdAC8F5ff3B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A DA verifier contract for EigenDA V2 certificates. The verifier is used to verify the certificate against operator signatures and stake thresholds.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa4F38615e6a1846ccD7ff08E8179CBdAC8F5ff3B#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xab48b73a9e59aF01AfE91e18cA0774295581d07A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xab48b73a9e59aF01AfE91e18cA0774295581d07A#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xB2E4D20ECF58f2cE6a8d3bf0c982c2c77BE42152",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB2E4D20ECF58f2cE6a8d3bf0c982c2c77BE42152#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xEEd67E139CC7721EC656B449F01B7b4D7dCFD671",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEEd67E139CC7721EC656B449F01B7b4D7dCFD671#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF027F4A985560fb13324e943edf55ad6F1d15Dc1#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xF875030B9464001fC0f964E47546b0AFEEbD7C61",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF875030B9464001fC0f964E47546b0AFEEbD7C61#code"
}
]
},
"escrows": [
{
"address": "0x7f82f57F0Dd546519324392e408b01fcC7D709e8",
"sinceTimestamp": 1762796999,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x7f82f57F0Dd546519324392e408b01fcC7D709e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1762796999,
"transactionHash": "0x8b841ae7bdbf207ec20fb8311ae9a11897be3b670c4828957e67c15140d01237",
"implementations": [
"eth:0x31f6E6a37ce650723EBf082EC59A48779be9Af99"
]
},
{
"timestamp": 1766022743,
"transactionHash": "0x79b2cfcd6e5c08d9912d7450c4f77db522be234ea86b4c7db6c10fc0b711b353",
"implementations": [
"eth:0x55400445e384393f9c1BE23e7E734e8d44Ed9fd9"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7f82f57F0Dd546519324392e408b01fcC7D709e8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75",
"sinceTimestamp": 1762796999,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x15fCB0120D414f246ead019cA4BdF97447cd8d90"
],
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x0CA3A2FBC3D770b578223FBB6b062fa875a2eE75#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x46D6Eba3AECD215a3e703cdA963820d4520b45D6",
"sinceTimestamp": 1764062435,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0x46D6Eba3AECD215a3e703cdA963820d4520b45D6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Predeposit escrow for USDC that can only be deposited to after passing KYC and only be withdrawn to a single address.",
"url": "https://etherscan.io/address/0x46D6Eba3AECD215a3e703cdA963820d4520b45D6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xCB264DEf50D166d4aE7cF60188eC0038819fb719",
"sinceTimestamp": 1761268271,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0xCB264DEf50D166d4aE7cF60188eC0038819fb719",
"upgradeability": {
"proxyType": "gnosis safe",
"admins": [],
"implementations": [
"eth:0x41675C099F32341bf84BFc5382aF534df5C7461a"
],
"immutable": false
},
"chain": "ethereum",
"description": "Multisig currently designated as the 'Treasury'.",
"url": "https://etherscan.io/address/0xCB264DEf50D166d4aE7cF60188eC0038819fb719#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Kailua fault proof program MegaETH",
"description": "Program that executes OP Kona client to derive blocks and generate fault or validity proofs, is a part of ZK non-interactive kailua fault proof system. ",
"proverSystemProject": "risc0",
"verificationStatus": "unsuccessful",
"verificationSteps": "The sources for this program are under development and not published yet. The hash cannot be independently regenerated.",
"hash": "0xf0ce5d15fa89991210ca2667b7f7a8bb740ce551c0f2b20cc76f9debc55d22c2"
}
],
"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:0x411e56a890c5fe0712f6F345977815Ba8E7785C3"
]
}
+75 -75
+75 -75
{
"addresses": {
"ethereum": [
{
"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": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x45dA2CD511DA5FEAa535eBF166E628314a65843a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner\n * **challengerFromDGF**: Conduit Multisig 1\n * **proposerFromDGF**: EOA 2",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45dA2CD511DA5FEAa535eBF166E628314a65843a#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77#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": "SystemConfig",
"isVerified": true,
"address": "eth:0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner\n * **batcherHash**: EOA 1\n * **owner**: RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4f4F908C36C8119f1FBd52CebbDB30C6f2a23C1#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964591,
"transactionHash": "0x7188bd8c0868aa05fff966307d86c6d5b840bee115e91449bd0b9e1ad7f097ea",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1780988555,
"transactionHash": "0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1780988555,
"transactionHash": "0x7e9202c4d6cb60aa8f0d86f9524f58cc3b5edb505495f61503d9374e3859cdb6",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner\n * **guardian**: RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEE552e802A50d855bD08E93dfcc69228FC7B9E2c#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3a63087B36Ad5a2fD89C7C8517832dE067Fe4959#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF9aD628d9F907ad5d46Ab80100dacDf09EAc9A8e#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0B95fF1d1B113bac3E29Ac0BBF2089126C9aE81A#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": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#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": "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 3",
"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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x502e993a5aFC9fE59b00B07ee500729D71092E34",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RoninConduitOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x502e993a5aFC9fE59b00B07ee500729D71092E34#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x51639D151456d0384285C6974e441A5D2B784B7D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x51639D151456d0384285C6974e441A5D2B784B7D#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "MainchainGateway",
"isVerified": true,
"address": "eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
],
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1655883630,
"transactionHash": "0x8f2924a52e63564c9cb0b119d72dc8290daa39c59cbe02e7f1ab6b2160ac9aa4",
"implementations": [
"eth:0x2DBA725f0a3485382a7F125a31cBF4361539aF73"
]
},
{
"timestamp": 1656414982,
"transactionHash": "0xbb60c9f020bd6f9c6737b28290f75272d2090f529d8450deafdf5d675fa8bcc0",
"implementations": [
"eth:0x71356E37e0368Bd10bFDbF41dC052fE5FA24cD05"
]
},
{
"timestamp": 1681283663,
"transactionHash": "0xa090f035d1895ab7b69fc72303e122d0c565becf9c6c684ecf7257c0311233af",
"implementations": [
"eth:0xa67BA5315AF4961Eb937158032AF9300C657dAcD"
]
},
{
"timestamp": 1698119543,
"transactionHash": "0xbbbeadcbf7df225dfef18cb3add0f29cbd2e90921acb7a3851b3a250832d12fe",
"implementations": [
"eth:0x72E28A9009Ad12dE019BFF418CD210D4bbc3D403"
]
},
{
"timestamp": 1722934127,
"transactionHash": "0x855dd3b1194e3b889f4667b6a0996220e350e034d35d3eab29b4f23bc205767e",
"implementations": [
"eth:0xfc274EC92bBb1A1472884558d1B5CaaC6F8220Ee"
]
},
{
"timestamp": 1724989295,
"transactionHash": "0x167c741a87278fa0a50f0ed15e89edd1d05ed43a5808476e564347f1d34f784d",
"implementations": [
"eth:0xD6c4986bbe09f2dDb262B4611b0BA06891be605e"
]
},
{
"timestamp": 1745306903,
"transactionHash": "0x234e508f2cf87b9d204402ded64d6fa13a65ac85e77b206b0be5718b9ce2a3b5",
"implementations": [
"eth:0x450032864C52Cb9210da8e30cE97CEaC8e215953"
]
},
{
"timestamp": 1751007983,
"transactionHash": "0x4befaa551b1c1300d7476e827cf84165dcf444b2815576ea5003554bdfac1416",
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
}
],
"description": "Legacy multi-sig-secured Ronin bridge contract holding the L1 side of deposits made before the April 2025 Chainlink CCIP migration. Still custodies residual user balances (ETH backing legacy WETH on Ronin, the deprecated WBTC contract, and dust). Withdrawals authorised by the Ronin BridgeOperator stake-weighted threshold via MainchainBridgeManager.\n* Roles:\n * **admin**: MainchainBridgeManager",
"upgradableBy": [
{
"name": "MainchainBridgeManager",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#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": "DelayedWETH",
"isVerified": true,
"address": "eth:0x69Fcd2E75af364295EaF48Dc058338F80CFfb434",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69Fcd2E75af364295EaF48Dc058338F80CFfb434#code"
},
{
"name": "KailuaVerifier",
"isVerified": true,
"address": "eth:0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE9Ad9723C24d946958f9FD3Bc861BbF983525607"
],
"implementations": [
"eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1780027571,
"transactionHash": "0xa6d65a7371559f4e7ef00b5e2037850046dce7282d57f0aca5becd5fce93f995",
"implementations": [
"eth:0x7fC721ACC2183c292737C5a28Ea1B30d19f1cF29"
]
}
],
"description": "Proxy in front of the Kailua proof verifier; routes verification requests to the canonical RiscZeroVerifierRouter and asserts the chain-specific rollup config and FPVM image ID.\n* Roles:\n * **admin**: RoninConduitOwner",
"upgradableBy": [
{
"name": "RoninConduitOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6b49976a7340D0A3C00d1bEBE0E36E2367D89c7C#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RoninConduitOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC#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": "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": "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": "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": "Wrapped Ether Token",
"isVerified": true,
"address": "eth:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2#code"
},
{
"name": "KailuaTreasury",
"isVerified": true,
"address": "eth:0xc7EaCDd1E755d2823463Abc4434CA445F752b336",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Kailua (RISC Zero ZK fault-proof) game implementation registered as game type 1337 in the DisputeGameFactory. Deployed but NOT yet active. Bonds confiscated from eliminated proposers are split 1/3 to the prover, 1/3 to the tournament winner, 1/3 burned.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc7EaCDd1E755d2823463Abc4434CA445F752b336#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": "PauseEnforcer",
"isVerified": true,
"address": "eth:0xF184a6Cd470Cac2CF5cD4fBa34e20D482D6A6062",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable emergency-pause contract for the legacy MainchainGateway. Holders of the SENTRY_ROLE can flip MainchainGateway into a paused state to halt deposits and withdrawals in an emergency.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF184a6Cd470Cac2CF5cD4fBa34e20D482D6A6062#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"
}
]
},
"escrows": [
{
"address": "0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"sinceTimestamp": 1771964639,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771964639,
"transactionHash": "0x476d87c0223e17c8e11c6f318b59f573760ecdabc7b2d2a67cd24f99178c7e18",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x652CD53eCf9466E5Fb00D0E11d6CBf6469a56D77#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"sinceTimestamp": 1771964639,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x757077Ddf12B652430DCE8fF3e4c749F5Ca861fC"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x85Ce2Ccef125aa8d018c298d5eA0f2FB5E5063c1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"sinceTimestamp": 1655883630,
"tokens": "*",
"excludedTokens": [
"AXS",
"USDC",
"WBTC",
"YGG",
"WETH"
],
"contract": {
"name": "MainchainGateway",
"isVerified": true,
"address": "eth:0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2Cf3CFb17774Ce0CFa34bB3f3761904e7fc3FaDB"
],
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1655883630,
"transactionHash": "0x8f2924a52e63564c9cb0b119d72dc8290daa39c59cbe02e7f1ab6b2160ac9aa4",
"implementations": [
"eth:0x2DBA725f0a3485382a7F125a31cBF4361539aF73"
]
},
{
"timestamp": 1656414982,
"transactionHash": "0xbb60c9f020bd6f9c6737b28290f75272d2090f529d8450deafdf5d675fa8bcc0",
"implementations": [
"eth:0x71356E37e0368Bd10bFDbF41dC052fE5FA24cD05"
]
},
{
"timestamp": 1681283663,
"transactionHash": "0xa090f035d1895ab7b69fc72303e122d0c565becf9c6c684ecf7257c0311233af",
"implementations": [
"eth:0xa67BA5315AF4961Eb937158032AF9300C657dAcD"
]
},
{
"timestamp": 1698119543,
"transactionHash": "0xbbbeadcbf7df225dfef18cb3add0f29cbd2e90921acb7a3851b3a250832d12fe",
"implementations": [
"eth:0x72E28A9009Ad12dE019BFF418CD210D4bbc3D403"
]
},
{
"timestamp": 1722934127,
"transactionHash": "0x855dd3b1194e3b889f4667b6a0996220e350e034d35d3eab29b4f23bc205767e",
"implementations": [
"eth:0xfc274EC92bBb1A1472884558d1B5CaaC6F8220Ee"
]
},
{
"timestamp": 1724989295,
"transactionHash": "0x167c741a87278fa0a50f0ed15e89edd1d05ed43a5808476e564347f1d34f784d",
"implementations": [
"eth:0xD6c4986bbe09f2dDb262B4611b0BA06891be605e"
]
},
{
"timestamp": 1745306903,
"transactionHash": "0x234e508f2cf87b9d204402ded64d6fa13a65ac85e77b206b0be5718b9ce2a3b5",
"implementations": [
"eth:0x450032864C52Cb9210da8e30cE97CEaC8e215953"
]
},
{
"timestamp": 1751007983,
"transactionHash": "0x4befaa551b1c1300d7476e827cf84165dcf444b2815576ea5003554bdfac1416",
"implementations": [
"eth:0x5019d41B0737e39B51Fd6dA4859F3e27579E4e69"
]
}
],
"description": "Legacy multi-sig-secured Ronin bridge (pre-CCIP). Holds residual ETH and ERC-20 deposits. Withdrawals authorised by the Ronin BridgeOperator threshold-signature set.",
"url": "https://etherscan.io/address/0x64192819Ac13Ef72bF6b5AE239AC672B43a9AF08#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Ronin Bridge (legacy multi-sig)"
}
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.3.1",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-node/v1.3.1/op-program",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.3.1` . Commit hash should be `e3c2f046c2d7103c765cbd47e949a284e511a47d`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c"
}
],
"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": []
}
+273 -568
+1 -1
{
"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."
"yellowWarning": "Deposits and withdrawals via ETH-Bridge and ERC-20 bridges are paused. Forced transactions, permissionless proposal fallback, and permissionless proving fallback are disabled as emergency responses to the hack."
}
+8 -9
{
"self": {
"stateValidation": {
"description": "A multi-proof system is used. There are four verifiers available: SGX (Geth), SGX (Reth), SP1 and RISC0. Two of them must be used to prove a proposal range, and SGX (Geth) is mandatory. The end state root is supplied during the `prove` call and is checked against the accompanying SGX/zkVM proof. Proving is currently gated by ProverWhitelist, which has 2 whitelisted provers in discovery, and becomes permissionless only after an unproven proposal is > 5d old.",
"description": "A multi-proof system is used. There are four verifiers available: SGX (Geth), SGX (Reth), SP1 and RISC0. Two of them must be used to prove a proposal range, and SGX (Geth) is mandatory. The end state root is supplied during the `prove` call and is checked against the accompanying SGX/zkVM proof. Proving is currently gated by ProverWhitelist, which has 2 whitelisted provers in discovery. While the whitelist is non-empty, non-whitelisted actors cannot submit proofs.",
"sentiment": "bad",
"value": "Multi-proofs",
"executionDelay": 0,
"secondLine": "No execution delay"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
},
"exitWindow": {
"description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.",
"sentiment": "bad",
"value": "None"
},
"sequencerFailure": {
"value": "Self sequence",
"description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 1d 1h delay on this operation.",
"sentiment": "good",
"orderHint": 92160
"value": "No mechanism",
"description": "There is no mechanism to have transactions be included if the sequencer is down or censoring. Although the functionality exists in the code, it is currently disabled. Forced inclusions are disabled in the current MainnetInbox implementation, so sequencer failure or censorship leads to non-inclusion.",
"sentiment": "bad"
},
"proposerFailure": {
"value": "Self propose",
"description": "Anyone can propose after 1d 1h if forced inclusions are ignored, and proving becomes permissionless after 5d if a proposal remains unproven.",
"sentiment": "good",
"orderHint": 432000
"value": "Cannot withdraw",
"description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. Proposing is gated by PreconfWhitelist, which selects a single active operator for the current epoch and has no fallback proposer path.",
"sentiment": "bad",
"orderHint": null
}
}
}
+11 -6
{
"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.",
"name": "Users can't force any transaction",
"description": "There is no general mechanism to force the sequencer to include a transaction.\nForced inclusions are disabled in the current `MainnetInbox` implementation: `saveForcedInclusion()` always reverts and `propose()` only accepts zero forced inclusions.\nIf the selected proposer is down or censoring, user transactions that are not included by the permissioned proposer remain non-included.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator refuses to include their transactions."
}
],
"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 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.",
"description": "The system uses a whitelist-based sequencing mechanism to allow for fast preconfirmations on the L2. On the L1, batch proposing is permissioned through the `PreconfWhitelist` contract, which currently has 2 active operators registered.\nFor each epoch, `PreconfWhitelist` selects a single active operator that can propose to MainnetInbox. There is no fallback proposer path, and non-selected operators cannot propose for the current epoch.\nProving is controlled separately by `ProverWhitelist`, which currently has 2 whitelisted provers.\nWhile the prover whitelist is non-empty, non-whitelisted actors cannot submit proofs. 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.",
"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. While the whitelist is non-empty, non-whitelisted actors cannot submit proofs, and the configured permissionless proving delay is not used to open proving. MainnetInbox currently sets minBond=0 and livenessBond=0. The multi-proof system allows detecting bugs in the verifiers if they produce different results for the same proposal range. If such a bug is detected, the system gets automatically paused.",
"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."
}
}
+77 -37
{
"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* 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]",
"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 * DefaultResolver [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 * 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 * manage trusted RISC Zero image IDs **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 * manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks **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 SecureSgxVerifier\n * add SGX instances without DCAP attestation and delete registered instances **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with MainnetInbox\n * pause and unpause the rollup system, activate the inbox, and execute the one-time state recovery path **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with TaikoSP1Verifier\n * manage trusted SP1 program verification keys **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with AutomataDcapV3Attestation\n * manage trusted SGX measurements, revoked certificate serial numbers, TCB info, QE identity, and local report checks **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with DefaultResolver\n * update the contract address registered for any chainId-name pair **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 MainnetERC20Vault\n * pause and unpause token bridge flows and change the bridged token implementation for a canonical token after the migration delay **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\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 SecureSgxVerifier\n * add SGX instances without DCAP attestation and delete registered instances **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with SignalService\n * pause and unpause signal proof verification **with 7d delay** [via: DAO with 7d delay (emergency proposals bypass the delay) → TaikoDAOController]\n* Can interact with MainnetBridge\n * pause and unpause bridge message flows and execute one-time bridge recovery initializers **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 PreconfWhitelist\n * pause/unpause, add or remove operators, and manage ejecter 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 ",
"description": "A Multisig with 4/6 threshold. \n* Can interact with SecureSgxVerifier\n * register SGX instances after DCAP attestation verification \n* Can interact with SecureSgxVerifier\n * register SGX instances after DCAP attestation verification \n* Can interact with SignalService\n * pause and unpause signal proof verification \n* Can interact with QuotaManager\n * update token withdrawal quotas and the quota refill period \n* Can interact with MainnetBridge\n * pause and unpause bridge message flows and fund the bridge through direct ETH transfers \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": "MainnetERC20Vault",
"name": "MainnetERC20Vault",
"accounts": [
{
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"type": "Contract",
"isVerified": true,
"name": "0x9962…15Ab",
"url": "https://etherscan.io/address/0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab"
}
],
"chain": "ethereum",
"description": "Shared vault for Taiko chains for bridged ERC20 tokens. Pausing stops token sends, message-triggered releases, and recalls. Released or minted tokens are subject to the configured quota manager.\n* Can interact with QuotaManager\n * consume ERC20 withdrawal quota when tokens leave the vault ",
"discoveryDrivenData": true
},
{
"id": "MainnetBridge",
"name": "MainnetBridge",
"accounts": [
{
"address": "eth:0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"type": "Contract",
"isVerified": true,
"name": "0xd602…d8EC",
"url": "https://etherscan.io/address/0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC"
}
],
"chain": "ethereum",
"description": "Shared bridge escrow for Taiko chains for bridged ETH and arbitrary bridge messages. Pausing stops sending, processing, recalling, retrying, and failing messages. ETH released from the bridge is subject to the configured quota manager.\n* Can interact with QuotaManager\n * consume ETH withdrawal quota when ETH leaves the bridge ",
"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-and-EOA-3",
"name": "EOA 1 and EOA 3",
"id": "EOA-1-and-EOA-5",
"name": "EOA 1 and EOA 5",
"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"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * eligible to propose batches on L1; only the selected current-epoch operator can successfully propose ",
"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 1"
"displayName": "EOA 2"
},
{
"address": "eth:0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"type": "EOA",
"isVerified": true,
"name": "0x45D4…dA4e",
"url": "https://etherscan.io/address/0x45D4403351Bc34283CE6450D91c099f40D06dA4e",
"displayName": "EOA 3"
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with PreconfWhitelist\n * add/remove operators ",
"description": "* Can interact with PreconfWhitelist\n * add operators after a two-epoch activation delay and remove existing operators immediately ",
"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-2",
"name": "EOA 2",
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"type": "EOA",
"isVerified": true,
"name": "0x39cc…6E6D",
"url": "https://etherscan.io/address/0x39cc8f0FEb8DFBa96674098a80eC304879576E6D",
"displayName": "EOA 2"
"displayName": "EOA 3"
}
],
"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-5-and-EOA-7",
"name": "EOA 5 and EOA 7",
"id": "EOA-6-and-EOA-8",
"name": "EOA 6 and EOA 8",
"accounts": [
{
"address": "eth:0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"type": "EOA",
"isVerified": true,
"name": "0xBFD6…1DD1",
"url": "https://etherscan.io/address/0xBFD60Cb2313B848a2FC088d3bc1ab6BF498E1DD1",
"displayName": "EOA 5"
"displayName": "EOA 6"
},
{
"address": "eth:0xDFbD5490462963Cc242471913B53b034B209B32c",
"type": "EOA",
"isVerified": true,
"name": "0xDFbD…B32c",
"url": "https://etherscan.io/address/0xDFbD5490462963Cc242471913B53b034B209B32c",
"displayName": "EOA 7"
"displayName": "EOA 8"
}
],
"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-6",
"name": "EOA 6",
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"type": "EOA",
"isVerified": true,
"name": "0xd0d7…9e3F",
"url": "https://etherscan.io/address/0xd0d756A346105511bc59726c82c7Fd2e3Fe69e3F",
"displayName": "EOA 6"
"displayName": "EOA 7"
}
],
"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-8",
"name": "EOA 8",
"id": "EOA-9",
"name": "EOA 9",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 8"
"displayName": "EOA 9"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+175 -514
{
"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": "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": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "MainnetInbox",
"isVerified": true,
"address": "eth:0x6f21C543a4aF5189eBdb0723827577e1EF57ef1f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098"
"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772642207,
"transactionHash": "0x7576f1179250453948b37648a748aaade28c40b33e358fa0cbe21be6b0368601",
"implementations": [
"eth:0x0680c84378FA6A7D2F46ADa5A70637Fa2A938d42"
]
},
{
"timestamp": 1782120275,
"transactionHash": "0x2fb71b83b8971dd7bbc174f72ea5d37f57bf20277c406b0d679062b20c348e1d",
"implementations": [
"eth:0x349Ae3578f48F758d79451EeAB61Cdd5fedD0098"
]
},
{
"timestamp": 1782739115,
"transactionHash": "0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7",
"implementations": [
"eth:0x64523f2580f4E7038a121D55b220a9C12C1E8f01"
]
}
],
"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)",
"description": "The core Layer 1 entrypoint for the Taiko rollup where L2 block batches are proposed and their corresponding state transitions are proven. Forced inclusion submission and processing are disabled in this implementation. Proposals must come from the configured proposer checker, and if the configured prover whitelist is non-empty, proofs from non-whitelisted provers revert; the configured permissionless proving delay is not used to open proving.\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": "MainnetVerifier",
"isVerified": true,
"address": "eth:0x71808449A6217898d602c1a392D95b931Ac5d878",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable verifier policy contract for Taiko mainnet. Each accepted proof must contain exactly two ordered sub-proofs: either SGX-GETH plus SGX-RETH/RISC0-RETH/SP1-RETH, or SGX-RETH plus SGX-GETH/RISC0-RETH/SP1-RETH. It routes each sub-proof to the corresponding downstream verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x71808449A6217898d602c1a392D95b931Ac5d878#code"
},
{
"name": "TaikoSP1Verifier",
"isVerified": true,
"address": "eth:0x96337327648dcFA22b014009cf10A2D5E2F305f6",
"address": "eth:0x73A0Db393ef87ce781ac7957bE10D6628432100F",
"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"
"url": "https://etherscan.io/address/0x73A0Db393ef87ce781ac7957bE10D6628432100F#code"
},
{
"name": "MainnetVerifier",
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x9cAa4948381590900FCdd8a4F06EB24138eD665d",
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Enforces the Taiko Multiprover policy and routes to the downstream router contracts.\n",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9cAa4948381590900FCdd8a4F06EB24138eD665d#code"
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#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",
"description": "Defines the prover whitelist queried by the inbox before accepting proofs. If the inbox is configured with this contract and the whitelist is non-empty, only whitelisted provers can prove proposals.\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",
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63"
]
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"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"
}
],
"description": "Verifier contract for RISC Zero Groth16 proofs. This older implementation exposes control-root and selector constants but does not expose a VERSION getter.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab#code"
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
},
{
"name": "QuotaManager",
"isVerified": true,
"address": "eth:0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Defines withdrawal quotas for ETH and ERC20 releases from the shared bridge. A token quota of zero means unlimited withdrawals for that token.\n* Roles:\n * **bridge**: MainnetBridge\n * **erc20Vault**: MainnetERC20Vault\n * **owner**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBaCb003f0B13CeAF09Eb9Baf5915A640BD4Bc6cC#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)",
"description": "Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\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",
"name": "SecureSgxVerifier",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"address": "eth:0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee",
"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 8",
"description": "Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **registrar**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
"url": "https://etherscan.io/address/0x41e79EB4F03aBB5DF8716B759528dc5d8f6a84Ee#code"
},
{
"name": "RiscZeroSetVerifier",
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"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",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroGroth16Verifier",
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"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/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#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)",
"description": "Contract managing SGX DCAP attestation policy, trusted measurements, and certificate revocation data.\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",
"name": "DefaultResolver",
"isVerified": true,
"address": "eth:0x91f67118DD47d502B1f0C354D0611997B022f29E",
"address": "eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xdb627bfD79e81fE42138Eb875287F94FAd5BBc64"
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715578067,
"transactionHash": "0x03df9b2af0bebae6b9a3d413c98e53ccd3c629e10010f2c1c14d1c6da630a7d7",
"timestamp": 1747268711,
"transactionHash": "0xe402a650eb9f8443ae3fb86d2ef4bc6105140c85774c56a3932fe097ea6f6c19",
"implementations": [
"eth:0x49c5e5F131314Bb24b17E249960F8B12F925ef22"
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0xdb627bfD79e81fE42138Eb875287F94FAd5BBc64"
]
}
],
"description": "Defines withdrawal limits per token.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)",
"description": "Maps chainId-name pairs to contract addresses. Bridge and vault contracts resolve their counterparties through this registry, so changes in this mapping effectively act as contract upgrades. The pause function is intentionally disabled in this implementation.\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/0x91f67118DD47d502B1f0C354D0611997B022f29E#code"
"url": "https://etherscan.io/address/0x8Efa01564425692d0a0838DC10E300BD310Cb43e#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": "SecureSgxVerifier",
"isVerified": true,
"address": "eth:0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SGX proven blocks. Registered SGX instances can sign accepted proofs until their instance expiry.\n* Roles:\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **registrar**: Taiko Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9D3C595BFf6Ff7D2b2CbdEcF94aD917eB2fCFFd8#code"
},
{
"name": "SignalService",
"isVerified": true,
"address": "eth:0x9e0a24964e5397B566c1ed39258e21aB5E35C77C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xBC442F342FE247Dc7981AC7Fbe8293c8891F8752"
"eth:0x1A06832992785766a105838C95c1E13a0045AC85"
]
},
"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"
]
},
{
"timestamp": 1782739115,
"transactionHash": "0xae7122add731c935d54d726ebe542e7d4f9f7321e3bdf4ec794309f813d981f7",
"implementations": [
"eth:0x1A06832992785766a105838C95c1E13a0045AC85"
]
}
],
"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)",
"description": "Facilitates secure cross-chain message passing by storing signals and state-root checkpoints. Bridge escrows and other applications use it to prove that a specific L1<->L2 signal or checkpointed state transition occurred via Merkle proofs. Pausing disables signal proof verification.\n* Roles:\n * **admin**: TaikoDAOController; ultimately SignerList (Security Council)\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)\n * **pauser**: Taiko Multisig",
"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 1, EOA 3\n * **operatorMapping**: EOA 4\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"description": "Contains the whitelist of addresses eligible to propose batches on L1 and issue preconfirmations. It dynamically selects a single active operator for each epoch using a delayed Ethereum beacon block root as randomness. There is no fallback proposer path in this contract: non-selected operators cannot propose for the current epoch.\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\n * **owner**: TaikoDAOController; ultimately SignerList (Security Council)",
"upgradableBy": [
{
"name": "SignerList (Security Council)",
"delay": "7d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD019460881e6EeC632258222393d5821029b2ac#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",
"title": "Proposal program of Raiko2 v0.5.1",
"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",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.5.1/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"
"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.5.1\n```\nCommit hash should be `b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe`.\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 -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.5.1-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.5.1-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\nReference: [Taiko Proposal0017 recovery bundle](https://github.com/taikoxyz/taiko-mono/blob/0603e070589a091db61e95b883a007bd271886ac/packages/protocol/script/layer1/proposals/Proposal0017.md) from [taiko-mono#21833](https://github.com/taikoxyz/taiko-mono/pull/21833).\n",
"hash": "0x007594632ec31fae9d44799b97316fcbcaa3ff6b5db268c7a5d8025b3bbb487e"
},
{
"title": "Proposal program of Raiko2 v0.1.0",
"title": "Proposal program of Raiko2 v0.5.1",
"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",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.5.1/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"
"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.5.1\n```\nCommit hash should be `b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe`.\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 -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.5.1-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.5.1-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\nReference: [Taiko Proposal0017 recovery bundle](https://github.com/taikoxyz/taiko-mono/blob/0603e070589a091db61e95b883a007bd271886ac/packages/protocol/script/layer1/proposals/Proposal0017.md) from [taiko-mono#21833](https://github.com/taikoxyz/taiko-mono/pull/21833).\n",
"hash": "0x3aca319730c7eba7288f33727316fcbc551ffb5a76c9a31e4bb004b63bbb487e"
},
{
"title": "Aggregation program of Raiko2 v0.1.0",
"title": "Aggregation program of Raiko2 v0.5.1",
"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",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.5.1/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"
"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.5.1\n```\nCommit hash should be `b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe`.\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 -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.5.1-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.5.1-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\nReference: [Taiko Proposal0017 recovery bundle](https://github.com/taikoxyz/taiko-mono/blob/0603e070589a091db61e95b883a007bd271886ac/packages/protocol/script/layer1/proposals/Proposal0017.md) from [taiko-mono#21833](https://github.com/taikoxyz/taiko-mono/pull/21833).\n",
"hash": "0x00e91cb391c22d6fd015e4c6041dbbe6efb2d8be6d4046eec28f12acba5a17bc"
},
{
"title": "Aggregation program of Raiko2 v0.1.0",
"title": "Aggregation program of Raiko2 v0.5.1",
"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",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.5.1/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"
"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.5.1\n```\nCommit hash should be `b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe`.\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 -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.5.1-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.5.1-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\nReference: [Taiko Proposal0017 recovery bundle](https://github.com/taikoxyz/taiko-mono/blob/0603e070589a091db61e95b883a007bd271886ac/packages/protocol/script/layer1/proposals/Proposal0017.md) from [taiko-mono#21833](https://github.com/taikoxyz/taiko-mono/pull/21833).\n",
"hash": "0x748e59c8708b5bf402bc98c041dbbe6e7d96c5f335011bbb051e25593a5a17bc"
},
{
"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",
"title": "Proposal program of Raiko2 v0.5.1",
"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",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.5.1/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"
"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.5.1\n```\nCommit hash should be `b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe`.\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 -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.5.1-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.5.1-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\nReference: [Taiko Proposal0017 recovery bundle](https://github.com/taikoxyz/taiko-mono/blob/0603e070589a091db61e95b883a007bd271886ac/packages/protocol/script/layer1/proposals/Proposal0017.md) from [taiko-mono#21833](https://github.com/taikoxyz/taiko-mono/pull/21833).\n",
"hash": "0xa38d1fac63aa6a553fdb6fea01fdc96534564c31de916aaafe5f5a1dd3bb908b"
},
{
"title": "Boundless aggregation program of Raiko2 v0.1.0",
"description": "Aggregates RISC0 Boundless proofs for multiple Taiko Shasta proposals with Raiko2.",
"title": "Aggregation program of Raiko2 v0.5.1",
"description": "Aggregates Raiko2 proofs for multiple Taiko Shasta proposals.",
"proverSystemProject": "risc0",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.1.0/guests/risc0/src/boundless_aggregation.rs",
"programUrl": "https://github.com/taikoxyz/raiko2/blob/v0.5.1/guests/risc0/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: \"risc0_shasta_boundless_aggregation\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n",
"hash": "0xcecc85819e15d173c2991577727525b136e820728f7aaaede612f1281cac2249"
"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.5.1\n```\nCommit hash should be `b08f4c57cd69a0f8dc1316a21f4ce4b08eddbebe`.\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 -r -p xtask-build-guest --bin guest-digests --features digests -- \\\n --output /tmp/raiko2-v0.5.1-guest-digests.json\n```\n4. In `/tmp/raiko2-v0.5.1-guest-digests.json`, find the entry with `object_name: \"risc0_shasta_aggregation\"` and `digest_source: \"image_id\"`. Its `digest` field should match this program hash.\n\nReference: [Taiko Proposal0017 recovery bundle](https://github.com/taikoxyz/taiko-mono/blob/0603e070589a091db61e95b883a007bd271886ac/packages/protocol/script/layer1/proposals/Proposal0017.md) from [taiko-mono#21833](https://github.com/taikoxyz/taiko-mono/pull/21833).\n",
"hash": "0x868b5154ae01a9a045051da2d7ba2e21d4132c7ec096da343fa24149407fefef"
}
],
"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"
]
}
+1 -1
{
"baseTimestamp": 1782204489,
"baseTimestamp": 1782824701,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}