b67b243a (main)
and
7c135fda (PR)
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x2EDc71E9991A962c7FE172212d1aA9E50480fBb9",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729680467,
"transactionHash": "0x19c7d643ec805bc5785ad2447af0fe01286db18018d08c3e1d2680e96cf5490f",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1729680467,
"transactionHash": "0x19c7d643ec805bc5785ad2447af0fe01286db18018d08c3e1d2680e96cf5490f",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1736869259,
"transactionHash": "0x6b99ca6cca224747e1e7475ef027d2d504830f43b946a9a9649ab69e3bb21c83",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742940287,
"transactionHash": "0xe27e320246920e2b0a486e2f09ef847d15e79b1364930ba960f158fa8d05f9ca",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1747078811,
"transactionHash": "0xc63fb7bdd8acc5852d262a14f0630fbf0a1a00b48890f389adad34ced6bfd241",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1747400387,
"transactionHash": "0xcaefda7f4c6e29f90b34a0b68817feeb9fac3da2cb66538ea15fbeed434a7201",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1751397995,
"transactionHash": "0x5baabf6f89fd91775efbaa3fcf547e344999ed8550560828e6d02511c220b7bc",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1755018191,
"transactionHash": "0x6748f394d7dbce205a1a2b85f8d2896ae4d6e68653193498b54ad6d3e18ef194",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1761601727,
"transactionHash": "0x1e0981b58494e533e348c55373907e8d29a478dd38d081c3e1f4e0213339008c",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1769463923,
"transactionHash": "0x8dacb39adb60b416058d5965b00fc4c83ec955ba60c160b0c766840b08584453",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1771005779,
"transactionHash": "0xa1b9a5968d7a9dd2d0c811f4e381780c2f21cb2628199f65abe9d1621010f3ff",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdmin; ultimately Abstract Multisig\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2EDc71E9991A962c7FE172212d1aA9E50480fBb9#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "ChainAdmin",
"isVerified": true,
"address": "eth:0xA1f75f491f630037C4Ccaa2bFA22363CEC05a661",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Abstract Multisig act through it.\n* Roles:\n * **owner**: Abstract Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA1f75f491f630037C4Ccaa2bFA22363CEC05a661#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x7f33D100f482093182111d69a4a457289e99f4ec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7f33D100f482093182111d69a4a457289e99f4ec#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"ETH",
"YGG"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Abstract and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x954ba8223a6BFEC1Cc3867139243A02BA0Bc66e4",
"l2EtherAddress": "0x000000000000000000000000000000000000800A"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"eth:0x7f33D100f482093182111d69a4a457289e99f4ec"
]
}
+5 -1
+5 -1
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x0583Ef2B6416cb7B287406438B940E4d99680C5B",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1768899023,
"transactionHash": "0x5a347ad3e11919a37fd5cc2e3f933678ebbbf11b6bcd4f2e1cf6f9f80b6e7462",
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
]
},
{
"timestamp": 1770285503,
"transactionHash": "0x3837cd476c7e8b1131d519f1dd8aed9cb1fbd779716260b0ff79196520f81b21",
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdminOwnable; ultimately ADI Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0583Ef2B6416cb7B287406438B940E4d99680C5B#code"
},
{
"name": "ZKsyncOSChainTypeManager",
"isVerified": true,
"address": "eth:0x08A1D2962fC29AA46e869A1E7561112cc1026EfA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x721e27269ce348F71bdAAd7B7b033Afa60e404e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764062063,
"transactionHash": "0xa5b440f6a0256100dac3d76a00374198366113b10688034f6b014b247a31cee4",
"implementations": [
"eth:0x191D1D51a9CBe988E69ad3D27eFab60663e5ed61"
]
},
{
"timestamp": 1768897787,
"transactionHash": "0x9443189514311b66d96da238adb1a18e3043616a45b62a6e99cd6f64b5996e81",
"implementations": [
"eth:0x721e27269ce348F71bdAAd7B7b033Afa60e404e0"
]
}
],
"description": "[FORK] This contract is not the standard hub contract from the Elastic network but a local fork for ADI chain. Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,30,1.\n* Roles:\n * **admin**: ChainAdminOwnable, ProxyAdmin; ultimately ADI Multisig 2, Governance\n * **owner**: Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08A1D2962fC29AA46e869A1E7561112cc1026EfA#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0x57B05e2394B3A12708C552A891f8b0f93645EdEA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA validators for different data availability modes. Scheme 3 is used by default RollupL1DAValidator, the commitment includes EIP-4844 blobs data. Scheme 4 is used only for ZKsyncOS, it is keccak of blob versioned hashes filled with pubdata.\n* Roles:\n * **owner**: Governance",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57B05e2394B3A12708C552A891f8b0f93645EdEA#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0x5E5a72077dFB354Dfe61200b8f31fa491F9B9Cea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x64E12498Afe66FAD714417E3fA7824E67189b31d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0xc8f25c8c05512ee3427467c81af5e2b8374ce4cd605988d6a7079bc98438c451",
"implementations": [
"eth:0x64E12498Afe66FAD714417E3fA7824E67189b31d"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: EOA 4",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5E5a72077dFB354Dfe61200b8f31fa491F9B9Cea#code"
},
{
"name": "L1MessageRoot",
"isVerified": true,
"address": "eth:0x783e8Cb57366888F84d815fd53c3aeE99b2d6d37",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x5BaC331B75f3bF88148bfb0be2a76be4FBb05417"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x20dedea6ad2da50130929c575615065d3842ab03ead9c9038f2e649172a2b94f",
"implementations": [
"eth:0x5BaC331B75f3bF88148bfb0be2a76be4FBb05417"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x783e8Cb57366888F84d815fd53c3aeE99b2d6d37#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x7a38c18a229Ef8a0AE7104Ba272A46280f2d59Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0xcf1c73439c85f7eB9d4439dAf398Fd6392d176E6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x24b5555ead6371a88f4727edf42d0a2d07901ce8b698fe2e999feebde6dd3fbe",
"implementations": [
"eth:0xcf1c73439c85f7eB9d4439dAf398Fd6392d176E6"
]
}
],
"description": "[FORK] This contract is not the standard hub contract from the Elastic network but a local fork for ADI chain. The main registry (hub) for chain contracts (supports more than ADI chain) and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: ChainAdminOwnable, ProxyAdmin; ultimately ADI Multisig 2, Governance\n * **owner**: Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7a38c18a229Ef8a0AE7104Ba272A46280f2d59Cb#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0xaCD4a320f8a45abE71756B85DF519201d041EA5f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0xB3AE8d7a583278C25faD1714F342AE284046fEa4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0xe48b3a261a691f2d2fbdfe9226d0c5a2bd4900493b790aa1cd97544d35856cfd",
"implementations": [
"eth:0xB3AE8d7a583278C25faD1714F342AE284046fEa4"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCD4a320f8a45abE71756B85DF519201d041EA5f#code"
},
{
"name": "ValidatorTimelock",
"isVerified": true,
"address": "eth:0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x6CB28384f21B18924FA312AA2E10D4E813e66263"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764061739,
"transactionHash": "0x3495b74edc718006ba1b887dadf4fcf2fa6aaafa16a9b38dfe35234fa4f5177b",
"implementations": [
"eth:0x406f329645E323B1bd1C020a219e30E6DAf4f899"
]
},
{
"timestamp": 1768897787,
"transactionHash": "0x9443189514311b66d96da238adb1a18e3043616a45b62a6e99cd6f64b5996e81",
"implementations": [
"eth:0x6CB28384f21B18924FA312AA2E10D4E813e66263"
]
}
],
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 0s.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **validatorVTL**: EOA 1, EOA 2, EOA 3, EOA 5",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x0a8a2473cc5731575a94f58F470851Bc6695B5B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets ADI Multisig 1 act through it.\n* Roles:\n * **owner**: ADI Multisig 1\n * **tokenMultiplierSetter**: EOA 6",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0a8a2473cc5731575a94f58F470851Bc6695B5B8#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x2d6E82F1f8fba89a67cc8d742B12633db4732Ca7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets ADI Multisig 2 act through it.\n* Roles:\n * **owner**: ADI Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2d6E82F1f8fba89a67cc8d742B12633db4732Ca7#code"
},
{
"name": "L1ERC20Bridge",
"isVerified": true,
"address": "eth:0xfA8B5EA9b8d36a72Eb0ba66Cc7aBc83d9deeC3B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Legacy bridge for depositing ERC20 tokens to ADI Chain.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfA8B5EA9b8d36a72Eb0ba66Cc7aBc83d9deeC3B8#code"
},
{
"name": "ADI PlonkVerifier",
"name": "ZKsyncOSVerifierPlonk",
"isVerified": true,
"address": "eth:0x08513A4646d1Bc8c348C67A3680bb19626E7F13F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08513A4646d1Bc8c348C67A3680bb19626E7F13F#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: EOA 7",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ChainAdminOwnable",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C#code"
},
{
"name": "ZKsyncOSDualVerifier",
"isVerified": true,
"address": "eth:0x5E7cF1C310F9E0BF8DbFe70D5cC8021a2109D0AE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to THE PLONK VERIFIER ONLY depending on the supplied proof version.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5E7cF1C310F9E0BF8DbFe70D5cC8021a2109D0AE#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Governance",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217#code"
},
{
"name": "L1ChainAssetHandler",
"isVerified": true,
"address": "eth:0x924E0145347243a94C5C69e372Ca52c77f8e6CF1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x0C06695f21B118a9A10101D303f00575A566D1A0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x1d89af101c273be6c173849a3f16c585fd26e85eb0e03e10ad2ac72012c9a66d",
"implementations": [
"eth:0x0C06695f21B118a9A10101D303f00575A566D1A0"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x924E0145347243a94C5C69e372Ca52c77f8e6CF1#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xd477bd7f14F9A26ebd51827EFB1d40a41f71b70C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C"
],
"implementations": [
"eth:0xDc64B98F394A8bf980F777631352029C9114e2e6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764061739,
"transactionHash": "0x72192c4f02430295786d5865c815e8e9499e896f37cb49635478d0096cc8b2cc",
"implementations": [
"eth:0xDc64B98F394A8bf980F777631352029C9114e2e6"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ADI Multisig 2",
"upgradableBy": [
{
"name": "ADI Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd477bd7f14F9A26ebd51827EFB1d40a41f71b70C#code"
},
{
"name": "ZKsyncOSVerifierFflonk",
"isVerified": true,
"address": "eth:0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A#code"
},
{
"name": "BlobsL1DAValidatorZKsyncOS",
"isVerified": true,
"address": "eth:0xFB630a206E6D7485cB9DFa929859E1a977F0a211",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DA verifier specifically for zksync OS chains. It keeps track of blob versioned hashes and checks if blob with particular hash was published.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFB630a206E6D7485cB9DFa929859E1a977F0a211#code"
}
]
},
"escrows": [
{
"address": "0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"sinceTimestamp": 1764060407,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Main escrow contract of ADI chain.",
"url": "https://etherscan.io/address/0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"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:0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A",
"eth:0x08513A4646d1Bc8c348C67A3680bb19626E7F13F"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x0c0105334a50Db16B51B2911C9956539753A2CF8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753345979,
"transactionHash": "0xa44e7072097f993e1b1e03fd217ee2d174fdc5f934d5f7b5aae8674c1a7d8360",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0c0105334a50Db16B51B2911C9956539753A2CF8#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x787A0ACaB02437c60Aafb1a29167A3609801e320",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x5cccbd8b1Da78F94dE12D84CaCC494931f1b1E04"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679193491,
"transactionHash": "0x081ad9f0592ee5da39dceb73ea43b57f1442749d480a756e4938bf4999f0ee22",
"implementations": [
"eth:0x9Cb22AF811cFF79b89d25570FAC31586af7b4a97"
]
},
{
"timestamp": 1680382787,
"transactionHash": "0x67627d33be7254318cea66122094bf3260d8dba551983dee907390414090503b",
"implementations": [
"eth:0xD45C7A59fca1b435ae805E8F6eF27418d92877AD"
]
},
{
"timestamp": 1693433315,
"transactionHash": "0x60f1457bbf8e61f25203769ade47092100fb0d0f105d1b0a4734dbb052b0910d",
"implementations": [
"eth:0x098927F692C86fA1722115652b9d2d7BE8cBa6D3"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xdc78882AB9F77C8821327D586547a80C2D712A24"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xdc78882AB9F77C8821327D586547a80C2D712A24"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xaa5b13609Fd0a48b3B20202B25494F58F3Ff89f4"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0xD2450cD624f5Cb6Ea9DB8c48298d484cA677F907"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x5cccbd8b1Da78F94dE12D84CaCC494931f1b1E04"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x787A0ACaB02437c60Aafb1a29167A3609801e320#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xF761Cc49bB127AB666899b41CDC4E62fA50cD9ca",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679193419,
"transactionHash": "0xbef016225c40c0d75131bc4e8a5f6ce6f7a5c872e2449f267413c5bbc6afbf25",
"implementations": [
"eth:0x552FFBdDFB01B6F7f3A3C39E9d3D0A5Fa8436394"
]
},
{
"timestamp": 1680382799,
"transactionHash": "0xdd0f719c148c6de4894f667a50f2b580ee92fbe7cd673e918aebe05c7b49266b",
"implementations": [
"eth:0x98F5f3455B71C297e4f7D7Cd1FAA80b5CDf4A542"
]
},
{
"timestamp": 1693433315,
"transactionHash": "0x60f1457bbf8e61f25203769ade47092100fb0d0f105d1b0a4734dbb052b0910d",
"implementations": [
"eth:0xA872bca05c9F8A97CC36D879e43B33dB8ed7b69E"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109171,
"transactionHash": "0x216d7eeeaafd2a8fec6f782d288e7c343d09ebed89cceddc1fa3aa3d8d2808b1",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF761Cc49bB127AB666899b41CDC4E62fA50cD9ca#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x11dd2d9B5ec142dbAFBEFEA82a75985Eae4e12b0",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679193431,
"transactionHash": "0x7abed0916f03770749ed56034cabc49ae8e403a7940bc4137493e439e431d609",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1679193491,
"transactionHash": "0x081ad9f0592ee5da39dceb73ea43b57f1442749d480a756e4938bf4999f0ee22",
"implementations": [
"eth:0xfA6aCD3c452ADE8910505cc61352274b4C6d526c"
]
},
{
"timestamp": 1680382571,
"transactionHash": "0x2967e7dde9e9a7b2e1535c014117e73b29d0a5f486b533bbf2461c34c36a3ff6",
"implementations": [
"eth:0x8ea8000814b14884317dF94D2fD26553C3fFd976"
]
},
{
"timestamp": 1680382691,
"transactionHash": "0x45f84133cdae2a8b259ab309ca0d499a0b175986c08a4e313ac25109b1dd858c",
"implementations": [
"eth:0x8ea8000814b14884317dF94D2fD26553C3fFd976"
]
},
{
"timestamp": 1680382739,
"transactionHash": "0xd19ed55de296e03d3a00afdf5272d8ef73404602966de1682de751bc91e0f8e6",
"implementations": [
"eth:0x8ea8000814b14884317dF94D2fD26553C3fFd976"
]
},
{
"timestamp": 1693433315,
"transactionHash": "0x60f1457bbf8e61f25203769ade47092100fb0d0f105d1b0a4734dbb052b0910d",
"implementations": [
"eth:0x8CfF5bDb1B428B979E3D87087dA8549A28065DDB"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109171,
"transactionHash": "0x216d7eeeaafd2a8fec6f782d288e7c343d09ebed89cceddc1fa3aa3d8d2808b1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109171,
"transactionHash": "0x216d7eeeaafd2a8fec6f782d288e7c343d09ebed89cceddc1fa3aa3d8d2808b1",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11dd2d9B5ec142dbAFBEFEA82a75985Eae4e12b0#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x2e7d7B188D663F38c2E4fF9C59328458A2D676F0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679193491,
"transactionHash": "0x081ad9f0592ee5da39dceb73ea43b57f1442749d480a756e4938bf4999f0ee22",
"implementations": [
"eth:0xE4fC17A270edc7C59D9BcA502E8f9DA40d62381D"
]
},
{
"timestamp": 1680382811,
"transactionHash": "0x3c3a0982220deb7adc960a36e01805209d092c1457257943dda9995a01f906a6",
"implementations": [
"eth:0xc408d756B3414b643705b7d2c677535b4633F7D9"
]
},
{
"timestamp": 1693433315,
"transactionHash": "0x60f1457bbf8e61f25203769ade47092100fb0d0f105d1b0a4734dbb052b0910d",
"implementations": [
"eth:0xd5f7A6e644621Bd7a1C95115C1A98f0e11947E8f"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109171,
"transactionHash": "0x216d7eeeaafd2a8fec6f782d288e7c343d09ebed89cceddc1fa3aa3d8d2808b1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109171,
"transactionHash": "0x216d7eeeaafd2a8fec6f782d288e7c343d09ebed89cceddc1fa3aa3d8d2808b1",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2e7d7B188D663F38c2E4fF9C59328458A2D676F0#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x4082C9647c098a6493fb499EaE63b5ce3259c574",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4082C9647c098a6493fb499EaE63b5ce3259c574#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x5DbBa17eb2458A05AbBA79E650dF607F0681Cc6a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679193491,
"transactionHash": "0x081ad9f0592ee5da39dceb73ea43b57f1442749d480a756e4938bf4999f0ee22",
"implementations": [
"eth:0x47FF07fb2903fC481F02223aD8ab4Bf0a276ceF9"
]
},
{
"timestamp": 1680382775,
"transactionHash": "0x4a57dfc33f0dc63de9d0f1613132f1c56b5af83ed52b4fe8bf0d5c654095005d",
"implementations": [
"eth:0x8E83b516C49807dC2E79528415330b41C89C1419"
]
},
{
"timestamp": 1693433315,
"transactionHash": "0x60f1457bbf8e61f25203769ade47092100fb0d0f105d1b0a4734dbb052b0910d",
"implementations": [
"eth:0xD4cD8d08b281492c0Eb9d9B81c27bC62b07Dab65"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109171,
"transactionHash": "0x216d7eeeaafd2a8fec6f782d288e7c343d09ebed89cceddc1fa3aa3d8d2808b1",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5DbBa17eb2458A05AbBA79E650dF607F0681Cc6a#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x689c1f9bd91cf85dfEFc4a9Adeecf42f80015208",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x2696212503546A1701f5323F2e5CEeDFe817D146"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x2696212503546A1701f5323F2e5CEeDFe817D146"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x689c1f9bd91cf85dfEFc4a9Adeecf42f80015208#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x7DfcCbEaB04c446eC151aEa12EBD35111643800A",
"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/0x7DfcCbEaB04c446eC151aEa12EBD35111643800A#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xDF716ec0Faa7d3B40AE695E2505c7f2c6608B230",
"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/0xDF716ec0Faa7d3B40AE695E2505c7f2c6608B230#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0xeE74fd716Edbfe6575ecc18B39F181b4De79fA7A",
"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/0xeE74fd716Edbfe6575ecc18B39F181b4De79fA7A#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xF51b386B0391B022604B95cD97DFce58A5c0cFB1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x84eDae031Bfec21bDd076759349448B29f216030"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x84eDae031Bfec21bDd076759349448B29f216030"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF51b386B0391B022604B95cD97DFce58A5c0cFB1#code"
}
]
},
"escrows": [
{
"address": "0x787A0ACaB02437c60Aafb1a29167A3609801e320",
"sinceTimestamp": 1679193119,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x787A0ACaB02437c60Aafb1a29167A3609801e320",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"implementations": [
"eth:0x5cccbd8b1Da78F94dE12D84CaCC494931f1b1E04"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679193491,
"transactionHash": "0x081ad9f0592ee5da39dceb73ea43b57f1442749d480a756e4938bf4999f0ee22",
"implementations": [
"eth:0x9Cb22AF811cFF79b89d25570FAC31586af7b4a97"
]
},
{
"timestamp": 1680382787,
"transactionHash": "0x67627d33be7254318cea66122094bf3260d8dba551983dee907390414090503b",
"implementations": [
"eth:0xD45C7A59fca1b435ae805E8F6eF27418d92877AD"
]
},
{
"timestamp": 1693433315,
"transactionHash": "0x60f1457bbf8e61f25203769ade47092100fb0d0f105d1b0a4734dbb052b0910d",
"implementations": [
"eth:0x098927F692C86fA1722115652b9d2d7BE8cBa6D3"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753104167,
"transactionHash": "0xc875094b76d46a0955ad6d560e6154806538855e429feac498dbc03ec2c1af24",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xdc78882AB9F77C8821327D586547a80C2D712A24"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xdc78882AB9F77C8821327D586547a80C2D712A24"
]
},
{
"timestamp": 1753365671,
"transactionHash": "0xd75f116a171758a602f7cfb27520a1cd3c741822834c3b23db0a29a879da04fc",
"implementations": [
"eth:0xaa5b13609Fd0a48b3B20202B25494F58F3Ff89f4"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0xD2450cD624f5Cb6Ea9DB8c48298d484cA677F907"
]
},
{
"timestamp": 1768924379,
"transactionHash": "0x44ac46ef2bf2ff160cf482c6729a14a342623403c52709dfc58b933e4d2d53fd",
"implementations": [
"eth:0x5cccbd8b1Da78F94dE12D84CaCC494931f1b1E04"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x787A0ACaB02437c60Aafb1a29167A3609801e320#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x4082C9647c098a6493fb499EaE63b5ce3259c574",
"sinceTimestamp": 1679193071,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x4082C9647c098a6493fb499EaE63b5ce3259c574",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x27ff92b30Cae00dABCF8045cc68fc9dcB67C5019"
],
"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/0x4082C9647c098a6493fb499EaE63b5ce3259c574#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -4
+2 -4
{
"creator": "Matter Labs",
"projectsForTvs": [
{
"projectId": "adi",
"sinceTimestamp": 1764107759
}
],
"proofSystemInfo": "\n ## Description\n\n Airbender is the most advanced zkVM developed by Matter Labs. It operates on RISC-V ISA and is designed to prove state transition function of [zk stack](https://zkstack.io) chains in combination with [ZKsync OS](https://github.com/matter-labs/zksync-os), but also more general RISC-V programs. Airbender proofs could be [wrapped into Fflonk SNARK](https://github.com/matter-labs/zkos-wrapper) for efficient onchain verification. Airbender initial release [targets 81 bits of security](https://x.com/eth_proofs/status/1942468407896543694).\n\n ## Proof system\n\n Airbender implements a rather standard zkVM: AIR constraints, [DEEP-FRI](https://eprint.iacr.org/2019/336) polynomial testing, RISC-V instructions with the program being stored in read-only memory and accessed by lookup arguments, recursive proving. \n\n Many parts of the stack are optimized for speed and efficiency, including a small Mersenne31 field over which the computation trace is generated and a simple degree 2 AIR constraints. Airbender prover could also be run in application mode without signed multiplication and division operations, thus reducing circuit complexity.\n\n ### Recursion circuits\n\n Airbender targets proving batches of size 2**22 (~4 M) clock cycles. The proofs of such batches are pairwise recursively aggregated using zkVM in recursion mode. For onchain verification, the final Airbender STARK is [compressed using Boojum compressor](https://github.com/matter-labs/zkos-wrapper) and then wrapped into a Fflonk SNARK with KZG. The KZG commitment is done over BN254 curve and it uses Aztec Ignition trusted setup ceremony, see [below](#trusted-setups) for more details.\n ",
"techStack": {
"zkVM": [
{
"id": "Airbender",
"type": "STARK",
"name": "Airbender",
"description": "zkVM STARK proving system operating on RISC-V ISA, developed by Matter Labs."
},
{
"id": "RISCV32",
"type": "ISA",
"name": "RISC-V 32bit",
"description": "Free and open-source universal 32-bit ISA used across a variety of hardware and software."
},
{
"id": "Mersenne31",
"type": "Field",
"name": "Mersenne31",
"description": "Prime field of order p = 2**31 - 1."
}
],
"finalWrap": [
{
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0x6f36a08c517b060fa97308cdb3e23b04842ff839d451a753ec8fae1a5408304a",
"name": "Airbender Fflonk Adi verifier",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A",
"chain": "ethereum"
"address": "eth:0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A"
}
],
"verificationStatus": "notVerified"
},
{
"hash": "0x124ebcd537a1e1c152774dd18f67660e35625bba0b669bf3b4836d636b105337",
"name": "Airbender Plonk Adi verifier",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x5E7cF1C310F9E0BF8DbFe70D5cC8021a2109D0AE",
"chain": "ethereum"
"address": "eth:0x08513A4646d1Bc8c348C67A3680bb19626E7F13F"
}
],
"verificationStatus": "notVerified",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
]
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x0b4cfc49aCc656CE6D03CB0794860Da92bE3E8ec",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706027459,
"transactionHash": "0x29cca6431f8855382846890f2d96b022bc575e35d5b599d370343a9d6bfd6563",
"implementations": [
"eth:0x188370729584052260214A6e0847B9810e3a120d"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109219,
"transactionHash": "0xf23b31efc9e9dc5fc5c4a2f8a52b039811055b464b9a99ee48c5241f79fbf900",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b4cfc49aCc656CE6D03CB0794860Da92bE3E8ec#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x3CEa4B383D855208f5d06e5b1A602E4006a1d0E1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753167659,
"transactionHash": "0x6db168a2f87ce2f1ca325003f1f116db66618b671fba34eb818d5587eca88bbf",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3CEa4B383D855208f5d06e5b1A602E4006a1d0E1#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x639F2AECE398Aa76b07e59eF6abe2cFe32bacb68",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706027459,
"transactionHash": "0x0fcde8d306862af703a65ee04c4a237e4b60bd7d07b05eea7fe86250d28674d8",
"implementations": [
"eth:0x9FC6A608B45c6F129650c26a34bbe5d26959E75e"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x639F2AECE398Aa76b07e59eF6abe2cFe32bacb68#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x012c341506ee1939e56084F43Ae5dbCe224Ce2af",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706027447,
"transactionHash": "0x185c0814ce1d86690eb60ee5c74354ea592d408a2622c7fb89e23a298c7b7b39",
"implementations": [
"eth:0x012c341506ee1939e56084F43Ae5dbCe224Ce2af"
]
},
{
"timestamp": 1706027459,
"transactionHash": "0x1b66f25b410f8283ab6936b8843d2dce0ce8bfb64022af3cb0cdac4c693fafbf",
"implementations": [
"eth:0x09A25EB69b0d2858800A769Da90934371C7174A9"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109219,
"transactionHash": "0xf23b31efc9e9dc5fc5c4a2f8a52b039811055b464b9a99ee48c5241f79fbf900",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109219,
"transactionHash": "0xf23b31efc9e9dc5fc5c4a2f8a52b039811055b464b9a99ee48c5241f79fbf900",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x012c341506ee1939e56084F43Ae5dbCe224Ce2af#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x12d4E64E1B46d27A00fe392653A894C1dd36fb80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x12d4E64E1B46d27A00fe392653A894C1dd36fb80#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x132b3456300332d488f946B818eB9512931eBCAa",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x132b3456300332d488f946B818eB9512931eBCAa#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xd5e3eDf5b68135D559D572E26bF863FBC1950033",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706027459,
"transactionHash": "0xb3faea51544a91e99f889a9eceb7a0396d9c8eb4b559e5970dee5e699b3bc369",
"implementations": [
"eth:0x132b3456300332d488f946B818eB9512931eBCAa"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109219,
"transactionHash": "0xf23b31efc9e9dc5fc5c4a2f8a52b039811055b464b9a99ee48c5241f79fbf900",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109219,
"transactionHash": "0xf23b31efc9e9dc5fc5c4a2f8a52b039811055b464b9a99ee48c5241f79fbf900",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd5e3eDf5b68135D559D572E26bF863FBC1950033#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x1C46182a1ddbf8CEb281470b458194E4f30eBC3f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1C46182a1ddbf8CEb281470b458194E4f30eBC3f#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": "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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75a223Fb459461B9Fa61dd25109EA05522b4b492#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xbf5952D52a911614c3436B4D7C1279778Dd4816a",
"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/0xbf5952D52a911614c3436B4D7C1279778Dd4816a#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xF1ef34E84fd11e3aF3157Ba27f3c00eAced0D9F5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF1ef34E84fd11e3aF3157Ba27f3c00eAced0D9F5#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xF2b7b677d14F4F570D084d7d615254F984e7089E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706027459,
"transactionHash": "0xe951dba49477d5888a7c63a6a84cd6684386011657923700d21061cf84858e07",
"implementations": [
"eth:0xF4364D50B7b1F31E888B37C826d36ec8715DF3dE"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109219,
"transactionHash": "0xf23b31efc9e9dc5fc5c4a2f8a52b039811055b464b9a99ee48c5241f79fbf900",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF2b7b677d14F4F570D084d7d615254F984e7089E#code"
}
]
},
"escrows": [
{
"address": "0x639F2AECE398Aa76b07e59eF6abe2cFe32bacb68",
"sinceTimestamp": 1706027447,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x639F2AECE398Aa76b07e59eF6abe2cFe32bacb68",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706027459,
"transactionHash": "0x0fcde8d306862af703a65ee04c4a237e4b60bd7d07b05eea7fe86250d28674d8",
"implementations": [
"eth:0x9FC6A608B45c6F129650c26a34bbe5d26959E75e"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753105283,
"transactionHash": "0x9d384450c51cc1bbafd0da905e3e35a202a26fa9f4fb87a3cb93a6a77929fd76",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753367651,
"transactionHash": "0x4c2fcc2257cfc70f1217803fbd7d995137d19f0bd11bb6394247615d983de3bd",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768920647,
"transactionHash": "0xa8ca7f37865297975c6f266aa66d5c1a5ac970a91f8c44e33fde5f068a1abe30",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x639F2AECE398Aa76b07e59eF6abe2cFe32bacb68#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x12d4E64E1B46d27A00fe392653A894C1dd36fb80",
"sinceTimestamp": 1706027447,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x12d4E64E1B46d27A00fe392653A894C1dd36fb80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75a223Fb459461B9Fa61dd25109EA05522b4b492"
],
"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/0x12d4E64E1B46d27A00fe392653A894C1dd36fb80#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x34A564BbD863C4bf73Eca711Cf38a77C4Ccbdd6A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Gelato Multisig",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34A564BbD863C4bf73Eca711Cf38a77C4Ccbdd6A#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x658656A14AFdf9c507096aC406564497d13EC754",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **challengerFromDGF**: OpFoundationOperationsSafe; ultimately SaferSafes\n * **proposerFromDGF**: EOA 2",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x658656A14AFdf9c507096aC406564497d13EC754#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xB20f99b598E8d888d1887715439851BC68806b22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB20f99b598E8d888d1887715439851BC68806b22#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x0BE364912219bC74760f1d1c25F4866b328eBfC6",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0BE364912219bC74760f1d1c25F4866b328eBfC6#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x564Eb0CeFCcA86160649a8986C419693c82F3678",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x564Eb0CeFCcA86160649a8986C419693c82F3678#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xbc404ae11E4E9DA3Ea9276Aa6DCcA31097D4f4Ee",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbc404ae11E4E9DA3Ea9276Aa6DCcA31097D4f4Ee#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0C9fF654bCd0769142Fe70951B0634C5AE19BA3C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0C9fF654bCd0769142Fe70951B0634C5AE19BA3C#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x1D21c2535154d5D0337eda61df9c07f306AA17f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1D21c2535154d5D0337eda61df9c07f306AA17f7#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": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xa33f75a3A2babD502cbC1A6F54345B529C1F306E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa33f75a3A2babD502cbC1A6F54345B529C1F306E#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEEFD1782D70824CBcacf9438afab7f353F1797F0#code"
}
]
},
"escrows": [
{
"address": "0xB20f99b598E8d888d1887715439851BC68806b22",
"sinceTimestamp": 1731366083,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xB20f99b598E8d888d1887715439851BC68806b22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731366083,
"transactionHash": "0xd4afd73fe3c16a0284301926c57e78ba53e313326442c1a885faaa7db421bbd3",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760460347,
"transactionHash": "0x38010d19d63d834b95936728d49e38dbf71ae7b3a44f555b235b890cd2f40eaf",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xB20f99b598E8d888d1887715439851BC68806b22#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x564Eb0CeFCcA86160649a8986C419693c82F3678",
"sinceTimestamp": 1731366083,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x564Eb0CeFCcA86160649a8986C419693c82F3678",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEEFD1782D70824CBcacf9438afab7f353F1797F0"
],
"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/0x564Eb0CeFCcA86160649a8986C419693c82F3678#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0775e11309d75aA6b0967917fB0213C5673eDf81#code"
},
{
"name": "Validium",
"isVerified": true,
"address": "eth:0x1E163594e13030244DCAf4cDfC2cd0ba3206DA80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708632059,
"transactionHash": "0xd68a284c1d748ff541d3339f650f5b90e2faf2744db5fdfc27edfffc702e2dbd",
"implementations": [
"eth:0x9cf80f7eB1C76ec5AE7A88b417e373449b73ac30"
]
},
{
"timestamp": 1712599859,
"transactionHash": "0xf735ab474ff2e48c6231cc834828e35736c6fc9fec9759b74e5cf58a88075a36",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
}
],
"description": "The main system contract defining the Astar zkEVM Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: AstarMultisig\n * **forceBatchAddress**: AstarMultisig\n * **trustedSequencer**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E163594e13030244DCAf4cDfC2cd0ba3206DA80#code"
},
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0x9CCD205052c732Ac1Df2cf7bf8aACC0E371eE0B0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1963D7b78e75A5eDfF9e5376E7A07A935Fb3d50d"
],
"implementations": [
"eth:0xF4e87685e323818E0aE35dCdFc3B65106002E456"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708624559,
"transactionHash": "0x72856ab866229053e930b1e4ec2c8505ed4b72feffdf13db4a218eced4364fa2",
"implementations": [
"eth:0xF4e87685e323818E0aE35dCdFc3B65106002E456"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 5/3).\n* Roles:\n * **admin**: ProxyAdmin; ultimately AstarMultisig\n * **owner**: AstarMultisig",
"upgradableBy": [
{
"name": "AstarMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CCD205052c732Ac1Df2cf7bf8aACC0E371eE0B0#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 2, EOA 3\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1963D7b78e75A5eDfF9e5376E7A07A935Fb3d50d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: AstarMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1963D7b78e75A5eDfF9e5376E7A07A935Fb3d50d#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "340282366920938463463374607431768211455"
},
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0x08c5DCDD5e46d31CC1591ee15b084663507597f3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x5206FAA5f1686697188FAe8e6347eAc5575Ed6e3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721184887,
"transactionHash": "0xd181edae7537465e56cee1aedaef625da1efa7cd7fb836057f278f1cc81eb74c",
"implementations": [
"eth:0x5206FAA5f1686697188FAe8e6347eAc5575Ed6e3"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Automata Multisig 1\n * **owner**: EOA 5",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08c5DCDD5e46d31CC1591ee15b084663507597f3#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x72934D7AEDC1A2d889ca89Aaf064CD9455E64d00",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x2705B4628552F8F9E5f39DBb5a3Ec47B20cf6EA3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185367,
"transactionHash": "0xc67aac3248729efd90c6a0e40202ecf0f42fb40f71f173ddd72a28162c59cc60",
"implementations": [
"eth:0x2705B4628552F8F9E5f39DBb5a3Ec47B20cf6EA3"
]
}
],
"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 Automata Multisig 1\n * **batcherHash**: EOA 4\n * **owner**: Automata Multisig 2",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72934D7AEDC1A2d889ca89Aaf064CD9455E64d00#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xD52ba64CBE1e3B44167f810622fBef36bE24d95c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x387422038358EE160aC57Dcd7aF73F9CC9401749"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185355,
"transactionHash": "0xcccb33914dff3e0787f27a628eafbf4762ca38368403add837cf573ac9d91652",
"implementations": [
"eth:0x387422038358EE160aC57Dcd7aF73F9CC9401749"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Automata Multisig 1\n * **guardian**: EOA 3",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD52ba64CBE1e3B44167f810622fBef36bE24d95c#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xdbf381984c4515Fe3285D3C55fDfb3054C52c261",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0xf31575705C047eC4D3Eb05F0917B9aA404179e3A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185475,
"transactionHash": "0x048137ed10a49a456e4a1b036f6fb7884ff69cb93ad20fce3fd2deebef4399e0",
"implementations": [
"eth:0xf31575705C047eC4D3Eb05F0917B9aA404179e3A"
]
},
{
"timestamp": 1743843719,
"transactionHash": "0x92cdc220f2e504336fecf2a06ac21865e046c90315e6902d04597397628505b8",
"implementations": [
"eth:0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08"
]
},
{
"timestamp": 1743844751,
"transactionHash": "0xbd8864ebf2f77f87a58470897b837b3003f982efa5d088b49a1373038e3da0df",
"implementations": [
"eth:0xf31575705C047eC4D3Eb05F0917B9aA404179e3A"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Automata Multisig 1\n * **challenger**: EOA 2\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdbf381984c4515Fe3285D3C55fDfb3054C52c261#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xDf87154Ed6cF332931b70014bA3d9dF423074FfF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x8486fB8acCE33702EAd543D234e904eDfB35E220"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721184815,
"transactionHash": "0x4a8f2b9d8324f9e749e7839f5663276435bc0e98b8e262cbf83ea7dc16c53589",
"implementations": [
"eth:0x8486fB8acCE33702EAd543D234e904eDfB35E220"
]
}
],
"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 Automata Multisig 1\n * **guardian**: EOA 3",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDf87154Ed6cF332931b70014bA3d9dF423074FfF#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x00bd00c5C7F60e222D9CB8040270Ba929241A280",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x24574dbF51a36b8ffaAf07B3B44eC0a261731fB2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185403,
"transactionHash": "0x94e916b8a554c3da1857c65f1818c79bb2c38fc67209951b298607e187da2a39",
"implementations": [
"eth:0x24574dbF51a36b8ffaAf07B3B44eC0a261731fB2"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Automata Multisig 1",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x00bd00c5C7F60e222D9CB8040270Ba929241A280#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x825C858149F1E775a0f4Aeb172037B970bE7B736",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0xe691A05BE8323Ce70A30A7ef733962A0d3b238E2"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185451,
"transactionHash": "0x8433adc9bd8b9f4a2b6f7a3e373008c4b3fc0f74e9ae848ac71c1903eecbde47",
"implementations": [
"eth:0xe691A05BE8323Ce70A30A7ef733962A0d3b238E2"
]
}
],
"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 Automata Multisig 1",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x825C858149F1E775a0f4Aeb172037B970bE7B736#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xE639919b92AB6DD238aEACc6F2A8d6e355D17bd5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x5Bf18b3c88b0B04BDC2C8F0c55362D14aCFB2168"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Automata Multisig 1",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE639919b92AB6DD238aEACc6F2A8d6e355D17bd5#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Automata Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7617f4a55d62b9EE49578D9C90593e58E607415F#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xa74b7baF04867E62B7824268e96144E503A23666",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x06Be6cB1bDaFa97662F629383B32E75aD46b312A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185415,
"transactionHash": "0x8eb3e1d3e9ebca2049aaf806a1224e2c434f89e4738f523e8fd51f0602096686",
"implementations": [
"eth:0x06Be6cB1bDaFa97662F629383B32E75aD46b312A"
]
}
],
"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 Automata Multisig 1",
"upgradableBy": [
{
"name": "Automata Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa74b7baF04867E62B7824268e96144E503A23666#code"
}
]
},
"escrows": [
{
"address": "0xD52ba64CBE1e3B44167f810622fBef36bE24d95c",
"sinceTimestamp": 1721184899,
"tokens": [
"ETH",
"ATA"
],
"contract": {
"isVerified": true,
"address": "eth:0xD52ba64CBE1e3B44167f810622fBef36bE24d95c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x387422038358EE160aC57Dcd7aF73F9CC9401749"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721185355,
"transactionHash": "0xcccb33914dff3e0787f27a628eafbf4762ca38368403add837cf573ac9d91652",
"implementations": [
"eth:0x387422038358EE160aC57Dcd7aF73F9CC9401749"
]
}
],
"description": "Main entry point for users depositing ETH, ATA.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xD52ba64CBE1e3B44167f810622fBef36bE24d95c#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xE639919b92AB6DD238aEACc6F2A8d6e355D17bd5",
"sinceTimestamp": 1721184923,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xE639919b92AB6DD238aEACc6F2A8d6e355D17bd5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7617f4a55d62b9EE49578D9C90593e58E607415F"
],
"implementations": [
"eth:0x5Bf18b3c88b0B04BDC2C8F0c55362D14aCFB2168"
]
},
"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/0xE639919b92AB6DD238aEACc6F2A8d6e355D17bd5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+4 -1
+4 -1
{
"addresses": {
"ethereum": [
{
"name": "AztecFeeDistributor",
"isVerified": true,
"address": "eth:0x41A57F5581aDf11b25F3eDb7C1DB19f18bb76734",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract responsible for collecting transaction fees and reimbursing gas to whitelisted Rollup Providers.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41A57F5581aDf11b25F3eDb7C1DB19f18bb76734#code"
},
{
"name": "TurboVerifier",
"isVerified": true,
"address": "eth:0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Turbo Plonk ZK verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8#code"
},
{
"name": "RollupProcessor",
"isVerified": true,
"address": "eth:0x737901bea3eeb88459df9ef1BE8fF3Ae1B42A2ba",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x737901bea3eeb88459df9ef1BE8fF3Ae1B42A2ba#code"
}
]
},
"escrows": [
{
"address": "0x737901bea3eeb88459df9ef1BE8fF3Ae1B42A2ba",
"chain": "ethereum",
"sinceTimestamp": 1614799636,
"tokens": [
"ETH",
"DAI",
"renBTC",
"USDT"
],
"chainId": 1
}
],
"risks": []
"risks": [],
"zkVerifiers": [
"eth:0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8"
]
}
+1 -2
+1 -2
{
"creator": "Aztec",
"projectsForTvs": [
{
"projectId": "aztec",
"sinceTimestamp": 1615762800
}
],
"proofSystemInfo": "\n ## Proof system\n\n Aztec v1 prover is a [monolithic zk-SNARK proving system](https://github.com/AztecProtocol/aztec-v1/tree/develop/packages/aztec.js) over BN254 curve for proving state transitions of Aztec v1 (Zk.money) L2. It implements the following custom circuits and contains verifiers for them: [joinsplit](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/joinSplit/JoinSplit.sol#L9) for proving private token transfers in a UTXO-like note model, [swap](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/swap/Swap.sol) for proving exchange of two notes between counterparties, [dividend](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/dividend/Dividend.sol) for proving that a note is equal to a public percentage of a second note, [public](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/publicRange/PublicRange.sol) and [private](https://github.com/AztecProtocol/aztec-v1/blob/a47d3d9ea38cd1363ede730998145da663df6091/packages/protocol/contracts/ACE/validators/privateRange/PrivateRange.sol) range for proving comparison of a note with either a public value or with another note.\n",
"techStack": {
"snark": [
{
"id": "AztecV1",
"type": "Plonk",
"name": "AztecV1",
"description": "First version of Aztec implementation of Plonk proving system, originally developed for zk.money (AZTEC v1)."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "AztecV1",
"type": "Plonk",
"name": "AztecV1",
"description": "First version of Aztec implementation of Plonk proving system, originally developed for zk.money (AZTEC v1)."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0x7c8a64f644c60e33445be862185b65bf2096c00c9691f49bd03df5f3ce6b6abf",
"name": "Aztec v1 verifier",
"sourceLink": "https://github.com/AztecProtocol/aztec-v1/tree/develop",
"proofSystem": {
"id": "AztecV1",
"type": "Plonk",
"name": "AztecV1",
"description": "First version of Aztec implementation of Plonk proving system, originally developed for zk.money (AZTEC v1)."
},
"knownDeployments": [
{
"address": "0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8",
"chain": "ethereum"
"address": "eth:0x48Cb7BA00D087541dC8E2B3738f80fDd1FEe8Ce8"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed array of uint256 obtained from flattening VerificationKey structure returned by get_verification_key() of Rollup1x2Vk library."
}
]
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "base:0x3a314A6a3c1470Bf2854960D3Ce9D2435c7Ba794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0x602267995C801D85b4b854817D0a2231f64C3D7D"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0xa0bc4ff6133312b014f644d0c8104e54bc815c0c973308333f1e065c61ed893d",
"implementations": [
"base:0x602267995C801D85b4b854817D0a2231f64C3D7D"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately B3Multisig\n * **guardian**: Caldera Multisig 2",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3a314A6a3c1470Bf2854960D3Ce9D2435c7Ba794#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "base:0x536cf1ABfD22E61a13753c0F08613aDdF4ca0595",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0x0167E10be3293266c7F0f1b42E1a8906E638d0cb"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0x099a2b6b0c2c79230836328297b7a165f7a2426e8c8a70689875986d8f9943e0",
"implementations": [
"base:0x0167E10be3293266c7F0f1b42E1a8906E638d0cb"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately B3Multisig\n * **challenger**: EOA 2\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x536cf1ABfD22E61a13753c0F08613aDdF4ca0595#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "base:0xA9Bc65Ff5A3106351fa92B04C91d505BcCd92Cad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0x14f5488aE20C2B591CD36D2Aa3Bc28442ed6d71a"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0x4b61daad29b5530f373ba733d9198892e26367bdb5e75a9d8bdbfbe2e00b4c13",
"implementations": [
"base:0x14f5488aE20C2B591CD36D2Aa3Bc28442ed6d71a"
]
}
],
"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 B3Multisig\n * **batcherHash**: EOA 3\n * **owner**: Caldera Multisig 2",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA9Bc65Ff5A3106351fa92B04C91d505BcCd92Cad#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "base:0xe736142a3e957660cBae61AC4bD61e5b65635140",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0xAd41C2437Cb1327149e4e635caCE7c74d408be98"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376845,
"transactionHash": "0x10ed059260b22be3388c06149f85f1d40ac79278215253a87492ae868e952752",
"implementations": [
"base:0xAd41C2437Cb1327149e4e635caCE7c74d408be98"
]
}
],
"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 B3Multisig\n * **guardian**: Caldera Multisig 2",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xe736142a3e957660cBae61AC4bD61e5b65635140#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "base:0x39d484F0FC1b3bfAed7D54934FF5C8e5d47A6867",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0xce1E945A3426f0521eB9D1Ccc63D6d204bC49D40"
],
"immutable": false
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0xaa3e854bd458ad1aae258f4953bc60a63725da3d809aa12717c8d7db7c5d7e7b",
"implementations": [
"base:0xce1E945A3426f0521eB9D1Ccc63D6d204bC49D40"
]
}
],
"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 B3Multisig",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x39d484F0FC1b3bfAed7D54934FF5C8e5d47A6867#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "base:0x3D748542A3bb90952d90f99F3fbfDAD8B6756B0A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0xd2227e78ee343a0d6166B4Bd5a18Ebb286c8Cc05"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0xef98d9c51853a310307b32604784a32db01277e5ef81e99705f563d2e574df27",
"implementations": [
"base:0xd2227e78ee343a0d6166B4Bd5a18Ebb286c8Cc05"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately B3Multisig",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3D748542A3bb90952d90f99F3fbfDAD8B6756B0A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "base:0x769547a723783FCA36BAaf1ECcf9dfdbF6d09F38",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0x4bFC8d6bE2843626A1186bd6eEfAD1297650470a"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately B3Multisig",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x769547a723783FCA36BAaf1ECcf9dfdbF6d09F38#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: B3Multisig",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x102e24084a003feEbe57B536a3B4E29eD6AC855A#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "base:0x88Ac5Be224B0bA925A9CA73a4FAFbA171849ec06",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0xb482529Ce853b8a883db28D53190FCcf44AEbF09"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0xe13debf3c2756093d1b571b97d872f0e27d5b0c288a3a56fa07454ba38a9568b",
"implementations": [
"base:0xb482529Ce853b8a883db28D53190FCcf44AEbF09"
]
}
],
"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 B3Multisig",
"upgradableBy": [
{
"name": "B3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x88Ac5Be224B0bA925A9CA73a4FAFbA171849ec06#code"
}
]
},
"escrows": [
{
"address": "0x3a314A6a3c1470Bf2854960D3Ce9D2435c7Ba794",
"sinceTimestamp": 1722376845,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "base:0x3a314A6a3c1470Bf2854960D3Ce9D2435c7Ba794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0x602267995C801D85b4b854817D0a2231f64C3D7D"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1722376851,
"transactionHash": "0xa0bc4ff6133312b014f644d0c8104e54bc815c0c973308333f1e065c61ed893d",
"implementations": [
"base:0x602267995C801D85b4b854817D0a2231f64C3D7D"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x3a314A6a3c1470Bf2854960D3Ce9D2435c7Ba794#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x769547a723783FCA36BAaf1ECcf9dfdbF6d09F38",
"sinceTimestamp": 1722376845,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "base:0x769547a723783FCA36BAaf1ECcf9dfdbF6d09F38",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x102e24084a003feEbe57B536a3B4E29eD6AC855A"
],
"implementations": [
"base:0x4bFC8d6bE2843626A1186bd6eEfAD1297650470a"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x769547a723783FCA36BAaf1ECcf9dfdbF6d09F38#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"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"
]
}
],
"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 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:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"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"
]
}
],
"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 FaultDisputeGame.\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": "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": "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": "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": "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": "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": "DelayedWETH",
"isVerified": true,
"address": "eth:0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec",
"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/0x2453c1216E49704d84eA98a4daCd95738F2fC8Ec#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": "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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"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 FaultDisputeGame.\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": "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"
}
],
"base": [
{
"name": "FeeDisburser",
"isVerified": true,
"address": "base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221"
],
"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:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"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"
]
}
],
"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": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813571,
"transactionHash": "0xf82923e94578148fd33c7e506f9e5db98ca060c911b41c5b6697d167738dd6a0",
"implementations": [
"eth:0xd7bfDa9B3b014b16bada89F206607a8Ac7c6FB32"
]
},
{
"timestamp": 1711501259,
"transactionHash": "0xb813416a1e599fbebc813b4e9a8c29e5d94d45e8da6e10e86935768caed38e98",
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1\n * **guardian**: BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xA150f19B681a06E1a0B7E03934299a9bf9238cb7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813235,
"transactionHash": "0xbe85666f88251637a983ac9ef301efcaa2fb56f8303b769b634404955be5dabf",
"implementations": [
"eth:0xA150f19B681a06E1a0B7E03934299a9bf9238cb7"
]
}
],
"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 BlastMultisig 1\n * **batcherHash**: EOA 2\n * **owner**: BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5531DcfF39EC1ec727C4c5D2fc49835368F805a9#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x1C90963D451316E3DBFdD5A30354EE56C29016EB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813535,
"transactionHash": "0x6294e04e136d66468e369543e2789863e2f036ab8e80d473d6808e414c3e233a",
"implementations": [
"eth:0x1c952514f0353d84d9ad35BcfB8E9Ea979289031"
]
},
{
"timestamp": 1709200619,
"transactionHash": "0x4e7b5b82e00b92a5b0380e3a47801760a35f00462793f28926184e984cddc478",
"implementations": [
"eth:0xaEbA6c3042B463DfAA6A2DFA96486D5A92186cFF"
]
},
{
"timestamp": 1721101547,
"transactionHash": "0xf9716c8e311c27decc5858f10b2a2c83ef3d8ce3958cfb242df5415a75b1e6eb",
"implementations": [
"eth:0x1C90963D451316E3DBFdD5A30354EE56C29016EB"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1\n * **challenger**: BlastMultisig 1\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x826D1B0D4111Ad9146Eb8941D7Ca2B6a44215c76#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x84efcFCE2dEe08072d5D57BF232D379b6E92A836"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708812995,
"transactionHash": "0xb9df50a5931e96f2c6f8055055cf2943009705a369b845fbb3e0202a7b897223",
"implementations": [
"eth:0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0"
]
},
{
"timestamp": 1708813511,
"transactionHash": "0x718f17591631857e26554f08b52874c1826d990a5c53d8496b12c860509615ed",
"implementations": [
"eth:0xe7406f6d89a14aC3Fc28530479327948ea500659"
]
},
{
"timestamp": 1708997567,
"transactionHash": "0xcd5f72853d01d93a1fbf3d219a77c7f0243b0fd537d14737c3b0691f0897d67c",
"implementations": [
"eth:0x84efcFCE2dEe08072d5D57BF232D379b6E92A836"
]
}
],
"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 BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5D4472f31Bd9385709ec61305AFc749F0fA8e9d0#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x697402166Fbf2F22E970df8a6486Ef171dbfc524",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xD2C23A5A280AFF9182b953579f62EDdDF1c7ff22"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x697402166Fbf2F22E970df8a6486Ef171dbfc524#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xa45A0c7C47DB8C6e99b2d7C4939F7f7Cf69C8975",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x3B01aDF2f199144233A536b08244d63e5eb691B8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813463,
"transactionHash": "0x90946309f20c1cbbf4e4204b8f1aebb438908064a941cbd0882028dbe04dab22",
"implementations": [
"eth:0x3B01aDF2f199144233A536b08244d63e5eb691B8"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa45A0c7C47DB8C6e99b2d7C4939F7f7Cf69C8975#code"
},
{
"name": "DSRYieldProvider",
"isVerified": true,
"address": "eth:0x0733F618118bF420b6b604c969498ecf143681a8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Yield Provider for DAI investing DAI into the MakerDAO DSR.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0733F618118bF420b6b604c969498ecf143681a8#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: BlastMultisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x364289230b8cc7d9120eF962AF37ebCFe23cE883#code"
},
{
"name": "L1BlastBridge",
"isVerified": true,
"address": "eth:0x3a05E5d33d7Ab3864D53aaEc93c8301C1Fa49115",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0x7A2075519Dd9598b62075FD397aF0Dd34b14619a"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Custom bridge gateway for Blast that allows the Operators to reinvest L1 tokens while they are bridged to the L2.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3a05E5d33d7Ab3864D53aaEc93c8301C1Fa49115#code"
},
{
"name": "LidoYieldProvider",
"isVerified": true,
"address": "eth:0x4316A00D31da1313617DbB04fD92F9fF8D1aF7Db",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Yield Provider for ETH investing ETH into stETH.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4316A00D31da1313617DbB04fD92F9fF8D1aF7Db#code"
},
{
"name": "LaunchBridge",
"isVerified": true,
"address": "eth:0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C"
],
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700359187,
"transactionHash": "0xb7f9a32a4d0d38440243d90730e7048ab1eea8c5301da80805131205a7759b4e",
"implementations": [
"eth:0xa01Def05A37850b2e13C8c839AA268845Df14276"
]
},
{
"timestamp": 1702321319,
"transactionHash": "0xb325f82fb0bd7454471789a44740a7bd3a81690a4e9c411e5c53e9412de149ca",
"implementations": [
"eth:0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774"
]
},
{
"timestamp": 1708305143,
"transactionHash": "0x57c1c448e2afa4910ac0637260bcca28a4f0cd0b32abb001b261338962d38052",
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
}
],
"description": "* Roles:\n * **admin**: BlastMultisig 2",
"upgradableBy": [
{
"name": "BlastMultisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x6B916DcCa661d23794e78509723A6f4348564847",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xBF21bc9AFaF817145B3886caDAF0860A2A0D782F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813475,
"transactionHash": "0x56b371e38c6925d31d80525dc061b211c4c5070dfea14e6e34036f731443c516",
"implementations": [
"eth:0xBF21bc9AFaF817145B3886caDAF0860A2A0D782F"
]
}
],
"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 BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6B916DcCa661d23794e78509723A6f4348564847#code"
},
{
"name": "ETHYieldManager",
"isVerified": true,
"address": "eth:0x98078db053902644191f93988341E31289E1C8FE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xf2F6148327B3020610FCa26E094D9A5cc4689525"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Contract managing Yield Providers for ETH.\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x98078db053902644191f93988341E31289E1C8FE#code"
},
{
"name": "USDYieldManager",
"isVerified": true,
"address": "eth:0xa230285d5683C74935aD14c446e137c8c8828438",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xeCDdf748A60E23609c07af6CA3856744B139B911"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Contract escrowing stablecoins and managing Yield Providers for stablecoins (like for example DAI).\n* Roles:\n * **admin**: ProxyAdmin; ultimately BlastMultisig 1",
"upgradableBy": [
{
"name": "BlastMultisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa230285d5683C74935aD14c446e137c8c8828438#code"
}
]
},
"escrows": [
{
"address": "0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb",
"sinceTimestamp": 1708812875,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708813571,
"transactionHash": "0xf82923e94578148fd33c7e506f9e5db98ca060c911b41c5b6697d167738dd6a0",
"implementations": [
"eth:0xd7bfDa9B3b014b16bada89F206607a8Ac7c6FB32"
]
},
{
"timestamp": 1711501259,
"transactionHash": "0xb813416a1e599fbebc813b4e9a8c29e5d94d45e8da6e10e86935768caed38e98",
"implementations": [
"eth:0xA280aEBF81c917DbD2aA1b39f979dfECEc9e4391"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x0Ec68c5B10F21EFFb74f2A5C61DFe6b08C0Db6Cb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x697402166Fbf2F22E970df8a6486Ef171dbfc524",
"sinceTimestamp": 1708812911,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x697402166Fbf2F22E970df8a6486Ef171dbfc524",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xD2C23A5A280AFF9182b953579f62EDdDF1c7ff22"
]
},
"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/0x697402166Fbf2F22E970df8a6486Ef171dbfc524#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d",
"sinceTimestamp": 1700359187,
"tokens": [
"stETH"
],
"contract": {
"name": "Pre-launch Blast Vault",
"isVerified": true,
"address": "eth:0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x67CA7Ca75b69711cfd48B44eC3F64E469BaF608C"
],
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700359187,
"transactionHash": "0xb7f9a32a4d0d38440243d90730e7048ab1eea8c5301da80805131205a7759b4e",
"implementations": [
"eth:0xa01Def05A37850b2e13C8c839AA268845Df14276"
]
},
{
"timestamp": 1702321319,
"transactionHash": "0xb325f82fb0bd7454471789a44740a7bd3a81690a4e9c411e5c53e9412de149ca",
"implementations": [
"eth:0x829e8Bf84569A0B2da7B27f975F026fDb6e0a774"
]
},
{
"timestamp": 1708305143,
"transactionHash": "0x57c1c448e2afa4910ac0637260bcca28a4f0cd0b32abb001b261338962d38052",
"implementations": [
"eth:0x0bD88b59D580549285f0A207Db5F06bf24a8e561"
]
}
],
"description": "Pre-launch Blast Vault that keeps stETH. Funds from this Vault can be migrated to Blast bridge.",
"url": "https://etherscan.io/address/0x5F6AE08B8AeB7078cf2F96AFb089D7c9f51DA47d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0x98078db053902644191f93988341E31289E1C8FE",
"sinceTimestamp": 1708812935,
"tokens": [
"ETH",
"stETH"
],
"contract": {
"name": "Interest-bearing ETH Vault",
"isVerified": true,
"address": "eth:0x98078db053902644191f93988341E31289E1C8FE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x364289230b8cc7d9120eF962AF37ebCFe23cE883"
],
"implementations": [
"eth:0xf2F6148327B3020610FCa26E094D9A5cc4689525"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Escrow for ETH that is invested into yield-bearing contracts such as stETH.",
"url": "https://etherscan.io/address/0x98078db053902644191f93988341E31289E1C8FE#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+8 -4
+2 -2
{
"arbitrum": {
"roles": [],
"actors": [
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * ArbitrumBlobstream \n* Can interact with ArbitrumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997",
"type": "Contract",
"isVerified": true,
"name": "0x738a…7997",
"url": "https://arbiscan.io/address/0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://arbiscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "arb1:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://arbiscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
},
{
"address": "arb1:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://arbiscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "arb1:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://arbiscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "arb1:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://arbiscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "arb1:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://arbiscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
}
],
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "arb1:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://arbiscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "arb1:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://arbiscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "arbitrum",
"description": "* Can interact with ArbitrumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * BaseBlobstream \n* Can interact with BaseBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6",
"type": "Contract",
"isVerified": true,
"name": "0x6ABa…1Ca6",
"url": "https://basescan.org/address/0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://basescan.org/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "base:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://basescan.org/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "base:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://basescan.org/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "base:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://basescan.org/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "base:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://basescan.org/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "base:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://basescan.org/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-3-and-EOA-4",
"name": "EOA 3 and EOA 4",
"accounts": [
{
"address": "base:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://basescan.org/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "base:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://basescan.org/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "base",
"description": "* Can interact with BaseBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [],
"actors": [
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * EthereumBlobstream \n* Can interact with EthereumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6",
"type": "Contract",
"isVerified": true,
"name": "0x8bF3…18E6",
"url": "https://etherscan.io/address/0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://etherscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "eth:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://etherscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "eth:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://etherscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "eth:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://etherscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "eth:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://etherscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"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": "EOA-5-and-EOA-6",
"name": "EOA 5 and EOA 6",
"accounts": [
{
"address": "eth:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://etherscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "eth:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://etherscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "ethereum",
"description": "* Can interact with EthereumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
}
}
+6 -2
{
"addresses": {
"arbitrum": [
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 1, EOA 2",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"base": [
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 3, EOA 4",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"ethereum": [
{
"name": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 5, EOA 6",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#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": "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": "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"
}
]
},
"programHashes": [
{
"title": "Celestia Blobstream DA bridge program",
"description": "ZK-friendly implementation of Celestia Blobstream DA bridge that proves that enough Celestia validators have confirmed a given data root.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "notVerified",
"hash": "0x00de39c136b88dfeacb832629e21a9667935bc0e74aaa21292e4f237d79d0bef"
}
],
"risks": [
{
"category": "Funds can be lost if",
"text": "the bridge contract or its dependencies receive a malicious code upgrade. There is no delay on code upgrades."
},
{
"category": "Funds can be frozen if",
"text": "the bridge contract is frozen by the Guardian (BlobstreamMultisig)."
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"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": "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: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": "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": "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: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"
}
]
},
"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": "\nEven 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.\n ",
"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"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x158Fd5715F16Ac1F2Dc959A299B383aAaf9B59EB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303503,
"transactionHash": "0x41b524b2ed6de3f6ec58d8e6508f9f6055ca3cb28a80b98af3213eb285a9fdce",
"implementations": [
"eth:0xfaE274B77BA59f001196689f93E9e73693866f4a"
]
},
{
"timestamp": 1734371939,
"transactionHash": "0x2dd4983dfade963b3da262a0c56b5085ffc5ee2f3046292326568738250b5a42",
"implementations": [
"eth:0xb52F8f5D1285e3bc13F9C53D27C6F7336a3B50A9"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
}
],
"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 Boba Multisig\n * **batcherHash**: EOA 1\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x158Fd5715F16Ac1F2Dc959A299B383aAaf9B59EB#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xD8056243180C4b56a7d2ccd5df9c2696E1261826"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
}
],
"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 Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xF45a5f1e36fCeA3Cc830A98c6c3C5ceA7d6af852",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750459247,
"transactionHash": "0x819e7ecb38b78c234172149bd1ba343a8fb2d7434f3f14520624e7e7abcbcfbb",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"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 Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF45a5f1e36fCeA3Cc830A98c6c3C5ceA7d6af852#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x996ffD627901f10C80A7d4B72A12316D2e77c076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xe4e0f760409EB1661db76a4365c0803C3630270f"
]
},
{
"timestamp": 1713549935,
"transactionHash": "0x4279b4a359b1d5abd672f9e7ee1923b9de372cce4077c2e673f3967b092e64cc",
"implementations": [
"eth:0x862E8e466ac49c1B076322AabCd4156326C47890"
]
},
{
"timestamp": 1713549935,
"transactionHash": "0x4279b4a359b1d5abd672f9e7ee1923b9de372cce4077c2e673f3967b092e64cc",
"implementations": [
"eth:0xe4e0f760409EB1661db76a4365c0803C3630270f"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
}
],
"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 Boba Multisig\n * **guardian**: Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x996ffD627901f10C80A7d4B72A12316D2e77c076#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x6D4528d192dB72E282265D6092F4B872f9Dff69e",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1628792646,
"transactionHash": "0xabf5ff59333cfb575404834e68633fd81c77ff85d6d6f9983e29140ebdf805f4",
"implementations": [
"eth:0x25109139f8C4F9f7b4E4d5452A067feaE3a537F3"
]
},
{
"timestamp": 1633462522,
"transactionHash": "0x9ba695c4025241f04617877232a4cf86d9ccc1783a693cfe661784c7f89c8050",
"implementations": [
"eth:0xae6b041f0550EDeF61a70F76f89c77B2b1Ef38Fd"
]
},
{
"timestamp": 1635387333,
"transactionHash": "0xa7c1696ee1da04699ec29609eb9c645e327a590ad21ff4a8cf16a9671719bec9",
"implementations": [
"eth:0x12Acf6E3ca96A60fBa0BBFd14D2Fe0EB6ae47820"
]
},
{
"timestamp": 1713303503,
"transactionHash": "0x41b524b2ed6de3f6ec58d8e6508f9f6055ca3cb28a80b98af3213eb285a9fdce",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0x3b48597212f2622511585914CC4D4152c9B1B077"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
}
],
"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 Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6D4528d192dB72E282265D6092F4B872f9Dff69e#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xA6Ad22bb0E73DEF40a24E510cFbc93807d8bf87e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0x99948157F4702B3EE9De4290C3dCDF2622Db9318"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA6Ad22bb0E73DEF40a24E510cFbc93807d8bf87e#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x43Acf69Ab2d79e0608ec3593343e7f3A88F034f2",
"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/0x43Acf69Ab2d79e0608ec3593343e7f3A88F034f2#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x4d898F66327Fa050131A17ed17a39EBeCC81f0c3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xd080A33E651780cD6f52F16020E1FFA04F0f15B2"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"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 Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d898F66327Fa050131A17ed17a39EBeCC81f0c3#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x4e27966e7D3727bE584d32081fc341321B047bF6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750459271,
"transactionHash": "0xbbacf0dbcc95a2ca3f10da3dcaf82083e9ee1523112cb4523b1c167a6aa591bc",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"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 Boba Multisig\n * **owner**: Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4e27966e7D3727bE584d32081fc341321B047bF6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Boba Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a",
"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/0xaA59A0777648BC75cd10364083e878c1cCd6112a#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xec22De453c5819F96E000Bf3aD5262019ca2151b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"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 Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xec22De453c5819F96E000Bf3aD5262019ca2151b#code"
}
]
},
"escrows": [
{
"address": "0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"sinceTimestamp": 1710967859,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xD8056243180C4b56a7d2ccd5df9c2696E1261826"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"sinceTimestamp": 1628793901,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
"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/0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Boba",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"verificationStatus": "unsuccessful",
"hash": "0x03ddcb9294fef6dd477b4e911fd777fda0832fdd10aa594ac941540ea62a2aa0"
}
],
"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": []
}
+9 -18
+9 -18
{
"creator": "Matter Labs",
"projectsForTvs": [
{
"projectId": "zklinknova",
"sinceTimestamp": 1709217961
},
{
"projectId": "zksync2",
"sinceTimestamp": 1689544800
},
{
"projectId": "abstract",
"sinceTimestamp": 1737932400
},
{
"projectId": "sophon",
"sinceTimestamp": 1734476400
},
{
"projectId": "cronoszkevm",
"sinceTimestamp": 1723672800
},
{
"projectId": "zeronetwork",
"sinceTimestamp": 1731366000
},
{
"projectId": "lens",
"sinceTimestamp": 1743717600
},
{
"projectId": "wonder",
"sinceTimestamp": 1746741600
},
{
"projectId": "zkcandy",
"sinceTimestamp": 1743976800
},
{
"projectId": "grvt",
"sinceTimestamp": 1734649200
},
{
"projectId": "lachain",
"sinceTimestamp": 1747692000
},
{
"projectId": "sxt",
"sinceTimestamp": 1746741600
}
],
"proofSystemInfo": "\n ## Description\n\n Boojum is a proving system operating on [EraVM](https://matter-labs.github.io/zksync-era/core/latest/guides/advanced/12_alternative_vm_intro.html) ISA and supporting [zk stack](https://zkstack.io) chains. It includes recursive STARK proving of zkVM execution, as well as the final wrap with [Plonk](https://github.com/matter-labs/franklin-crypto/tree/dev/src/plonk) or [Fflonk](https://github.com/matter-labs/zksync-crypto/blob/main/crates/fflonk/docs/spec.pdf) SNARK proving system. Boojum targets [100 bits of security](https://github.com/matter-labs/era-boojum?tab=readme-ov-file#for-curions-in-benchmarks-only).\n\n ## Proof system\n\n ### zkVM component\n\n [Boojum](https://github.com/matter-labs/era-boojum/tree/main)'s core is an implementation of the [**Redshift**](https://eprint.iacr.org/2019/1400.pdf) protocol which uses the Plonk IOP with a polynomial commitment scheme based on List Polynomial Commitments (LPCs), which is in turn based on FRI, making the scheme transparent. The scheme makes use of the Goldilocks field, which is much smaller than BN254's field. This part of boojum implements a zkVM for EraVM, which is closely aligned with EVM but has essential differences like 16 registers.\n\n ### Recursion circuits\n\n The protocol makes use of several layers of recursive proof aggregation for 15 types of [circuits](https://github.com/matter-labs/era-zkevm_test_harness/blob/3cd647aa57fc2e1180bab53f7a3b61ec47502a46/circuit_definitions/src/circuit_definitions/recursion_layer/mod.rs#L29). In particular, node and scheduler circuits aggregate zk proofs and compressor and wrapper circuits reduce the final proof size. Further information about the aggregation architecture can be found [**here**](https://github.com/matter-labs/zksync-era/blob/1b61d0797062ab8b0aa2c1e92b23a3a0d8fd2c61/docs/guides/advanced/15_prover_keys.md#circuits).\n\n ### Final wrap\n\n The final proof could either be wrapped into a [Plonk](https://github.com/matter-labs/era-zkevm_test_harness/blob/3cd647aa57fc2e1180bab53f7a3b61ec47502a46/circuit_definitions/src/circuit_definitions/aux_layer/wrapper.rs)+KZG proof, or into [Fflonk](https://github.com/matter-labs/zksync-crypto/tree/main/crates/fflonk)+KZG for cheap verification. The KZG commitment is done over BN254 curve and it uses Aztec Ignition trusted setup ceremony, see [below](#trusted-setups) for more details.\n ",
"techStack": {
"zkVM": [
{
"id": "Boojum",
"type": "STARK",
"name": "Boojum",
"description": "zkVM STARK proving system developed by Matter Labs for proving state transition of ZKsync Era."
},
{
"id": "EraVM",
"type": "ISA",
"name": "EraVM",
"description": "Instruction language for ZKsync Era virtual machine."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
}
],
"finalWrap": [
{
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
{
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0xe4503cf38485e3d728a7362155d53d3d63293e2fa48dca4f5588aa4625de251f",
"name": "Boojum Fflonk Lens verifier",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/f57999997f581b557cf8e36e3a9be5650d992022/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d",
"chain": "ethereum"
"address": "eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct commit hash is `f57999997f581b557cf8e36e3a9be5650d992022`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout f57999997f581b557cf8e36e3a9be5650d992022\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
},
{
"hash": "0x6f36a08c517b060fa97308cdb3e23b04842ff839d451a753ec8fae1a5408304a",
"name": "Boojum Fflonk core-v29.1.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.1.0/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911",
"chain": "ethereum"
"address": "eth:0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.1.0`, commit hash `3b61f62b3361404c0c94635caee68c855ce2b9f8`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout core-v29.1.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
},
{
"hash": "0x93e83aa1ec05a2ac4de1f0b241394efb9f94a4e7c1784a5a9bf6b85eb930c62a",
"name": "Boojum Plonk Lens verifier",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/f57999997f581b557cf8e36e3a9be5650d992022/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0xB3f4396C2040e502d0556Cbb16C0B22fE777A026",
"chain": "ethereum"
"address": "eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct commit hash is `f57999997f581b557cf8e36e3a9be5650d992022`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout f57999997f581b557cf8e36e3a9be5650d992022\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0x64b347c642ea60114c98b3976124ea8a7e0bb778bd7e479aedc02f994486c8a1",
"name": "Boojum Plonk prover-v22.0.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/prover-v22.0.0/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6",
"chain": "ethereum"
"address": "eth:0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `prover-v22.0.0`, commit hash `157045b4f67546629fc2f7fb32cbbcb4daa2054d`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout prover-v22.0.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0x8574e152c41dc39a2ecab984545e1cf21cb3ec250b919018a8053f2fa270784f",
"name": "Boojum Plonk zkLinkNova verifier",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x902C3806A84f4e855a8746e92d7F1C9a51400458",
"chain": "linea"
"address": "linea:0x902C3806A84f4e855a8746e92d7F1C9a51400458"
}
],
"verificationStatus": "notVerified"
},
{
"hash": "0x49eae0bf5c7ea580f4979b366e52b386adc5f42e2ce50fc1d3c4de9a86052bff",
"name": "Boojum Fflonk core-v29.4.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.4.0/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"chain": "ethereum"
"address": "eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.4.0`, commit hash `fe0a73730853b291c3c1dd514a42a45625704b7b`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout core-v29.4.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
},
{
"hash": "0x1ffc56111a5cfaf5db387f6a31408ad20217e9bc1f31f2f5c1bd38b0d6d7968b",
"name": "Boojum Plonk prover-v23.2.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/prover-v23.2.0/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7",
"chain": "ethereum"
"address": "eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `prover-v23.2.0`, commit hash `2b188cd7ac139430d3cb1f27babc9693a2c83df6`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout prover-v23.2.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0xb2f50340e0edbe49dc657d4eb298e07f13860c1be0fe2e438e44ef8fad133d84",
"name": "Boojum Plonk core-v29.11.1",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.11.1/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x7f33D100f482093182111d69a4a457289e99f4ec",
"chain": "ethereum"
"address": "eth:0x7f33D100f482093182111d69a4a457289e99f4ec"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n Verification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \n The setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n \n 1. Install rust, yarn, some essential libraries, docker and cmake:\n \n ```\n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n \n curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\n export NVM_DIR=$HOME/.nvm\n . .bashrc\n nvm install 20\n npm install -g yarn\n yarn set version 1.22.19\n \n sudo apt-get update\n sudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\n cargo install sqlx-cli --version 0.8.1\n \n # install the latest version of cmake\n sudo apt remove cmake\n curl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\n sudo apt-get install cmake\n ```\n \n 2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n \n ```\n sudo apt-get install gcc-12 g++-12\n sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\n sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n \n wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\n sudo dpkg -i cuda-keyring_1.1-1_all.deb\n sudo apt-get update\n sudo apt-get install -y cuda-drivers-535\n sudo apt-get install -y cuda-toolkit-12-2\n ```\n \n Reboot the machine to apply the drivers.\n \n 3. Install `foundryup-zksync`.\n \n ```\n curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n . ~/.bashrc\n foundryup-zksync\n ```\n \n 4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n ```\n export CUDA_HOME=/usr/local/cuda\n export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\n export PATH=$PATH:$CUDA_HOME/bin\n \n git clone https://github.com/matter-labs/era-bellman-cuda.git\n cd era-bellman-cuda\n git checkout prerelease-dev-a87a309\n git submodule update --init --recursive\n cmake -B./build -DCMAKE_BUILD_TYPE=Release\n cmake --build ./build\n export BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n ```\n \n 5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.11.1`, commit hash `3f71cb2230fb9c365c095ce7bcf3373ea63fbec2`.\n ```\n cd ~ \n git clone https://github.com/matter-labs/zksync-era.git\n cd zksync-era/\n git checkout core-v29.11.1\n \n # Download compact CRS for the compressor data step, put in repo root\n curl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\n export COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n \n cd prover/crates/bin/vk_setup_data_generator_server_fri\n CRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n \n # Run regeneration steps\n cargo run --release --bin key_generator generate-vk\n cargo run --features gpu --release --bin key_generator generate-compressor-data\n ```\n \n The output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0xc8cd705a0db89577146137de78eba6bd1f1c9c3f66dc52f7627e7c2df30895b2",
"name": "Boojum Fflonk core-v29.11.1",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.11.1/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"chain": "ethereum"
"address": "eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.11.1`, commit hash `3f71cb2230fb9c365c095ce7bcf3373ea63fbec2`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout core-v29.11.1\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
}
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0x1390f521A79BaBE99b69B37154D63D431da27A07",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x303775491494a08b07365938787274F742a81F63"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657453406,
"transactionHash": "0xbb2c1a2af8cd1610e653c265b6e395bbea1bcea66006673a094a3d7e966a190c",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662045475,
"transactionHash": "0x0ba3606ba4b0ec058a8fe2dfe68bd4f35a321771db1494d350192b5e3025dfb8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1\n * **operators**: EOA 3\n * **tokenAdmins**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1390f521A79BaBE99b69B37154D63D431da27A07#code"
},
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x4F8B2dd49D958b6ac3e5f4705Bf1a9aDA5Bc4446",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F8B2dd49D958b6ac3e5f4705Bf1a9aDA5Bc4446#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0x5339AB7557b3152b91A57D10B0Caf5da88Db5143",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`16830627573509542901909952446321116535677491650708854009406762893086223513`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5339AB7557b3152b91A57D10B0Caf5da88Db5143#code"
},
{
"name": "OrderRegistry",
"isVerified": true,
"address": "eth:0x806d435a82B0381bD884540c2235147c13B97fe6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper contract for registering limit orders from L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x806d435a82B0381bD884540c2235147c13B97fe6#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0x1390f521A79BaBE99b69B37154D63D431da27A07",
"sinceTimestamp": 1657453320,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x1390f521A79BaBE99b69B37154D63D431da27A07",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x303775491494a08b07365938787274F742a81F63"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657453406,
"transactionHash": "0xbb2c1a2af8cd1610e653c265b6e395bbea1bcea66006673a094a3d7e966a190c",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662045475,
"transactionHash": "0x0ba3606ba4b0ec058a8fe2dfe68bd4f35a321771db1494d350192b5e3025dfb8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Main entry point for users' deposits.",
"url": "https://etherscan.io/address/0x1390f521A79BaBE99b69B37154D63D431da27A07#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.5",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "16830627573509542901909952446321116535677491650708854009406762893086223513"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x89E31965D844a309231B1f17759Ccaf1b7c09861",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0x5852f5888f0563ac1d7e3bf2b566e63fa981394e24b9753a41416a2ba6bdbfbc",
"implementations": [
"eth:0x7b5a84F818B6fC3F079EE87c214F369062188D2A"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0x911EA44d22EB903515378625dA3a0E09D2E1B074"
]
},
{
"timestamp": 1751884031,
"transactionHash": "0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39",
"implementations": [
"eth:0x9c61C5a8FF9408B83ac92571278550097A9d2BB5"
]
}
],
"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 CeloProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x89E31965D844a309231B1f17759Ccaf1b7c09861#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879583,
"transactionHash": "0x7411775e32485632423395def2883f19e3a11c66c88c57f08d9975a927e2b166",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1741879583,
"transactionHash": "0x381b707419ae79c88d6fa34ec819396c80ba54f489d47d10ff85c4285b64e447",
"implementations": [
"eth:0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0xBeD463769920dAc19a7E2aDf47B6C6Bb6480bD97"
]
},
{
"timestamp": 1751884031,
"transactionHash": "0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39",
"implementations": [
"eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7"
]
}
],
"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 42.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0xb42846aca12a846645e69e61c48c9b8de7078117c710ff124b04c18f735fbc5e",
"implementations": [
"eth:0xe8b013bEE7Bd603e2f0B4825638559d645A4C4CB"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"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 CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFbAC162162f4009Bb007C6DeBC36B1dAC10aF683#code"
},
{
"name": "SuperchainConfigLocal",
"isVerified": true,
"address": "eth:0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x693cFD911523ccaE1a14AdE2501ae4a0A463b446"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879559,
"transactionHash": "0x427e785add84f7429e78dc82c39e2b3b6e2c3e224f8abd6f4b67795f16e45357",
"implementations": [
"eth:0x693cFD911523ccaE1a14AdE2501ae4a0A463b446"
]
}
],
"description": "A local contract acting as source of truth for the paused status and the guardian role for the local chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner\n * **guardian**: EOA 2\n * **superchainConfig**: SuperchainConfig if the (global) SuperchainConfig is paused",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa440975E5A6BB19Bc3Bee901d909BB24b0f43D33#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0x142804c112b7513d03962454fab1f12292cf4b4833ca1701f5122a7212476c77",
"implementations": [
"eth:0xDE47b113E4157ed15fA46c5572562aC11146c5eA"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0x3d5a67747dE7E09b0d71F5d782c8b45f6307B9Fd"
]
},
{
"timestamp": 1751884031,
"transactionHash": "0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39",
"implementations": [
"eth:0x807124F75FF2120b2f26D7e6f9e39C03ee9DE212"
]
}
],
"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 CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1AC1181fc4e4F877963680587AEAa2C90D7EbB95#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x3C519816C5BdC0a0199147594F83feD4F5847f13",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0x088ae685dbdd16320c9d3f99e7feea6c823156f69ab0da7dc48ce6c38498c55e",
"implementations": [
"eth:0xad5D111e961A5E451C8172034115bcc0551b6551"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1751884031,
"transactionHash": "0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3C519816C5BdC0a0199147594F83feD4F5847f13#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x28841965B26d41304905A836Da5C0921DA7dBB84"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#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": "Celo native asset Token",
"isVerified": true,
"address": "eth:0x057898f3C43F129a17517B9056D23851F124b19f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x64fE3f9201E6534D2d744c7C57D134E709131a6e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879583,
"transactionHash": "0xe145ca9f0fea9f384f7abad906b81717a0d407de37718cb9036678937c44d9f0",
"implementations": [
"eth:0x64fE3f9201E6534D2d744c7C57D134E709131a6e"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x057898f3C43F129a17517B9056D23851F124b19f#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02",
"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/0x25c2e07A24a74F9FA54f7CA5ddAfedB2264a5d02#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": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0x0297053983c066511596ec9542fd1d217b46039efc3d729f4e4468ecfff47b6b",
"implementations": [
"eth:0x0B3004b843dA84FE5D4C46AeB5E80F826e5CD69A"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"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 CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6f0E4f1EB98A52EfaCF7BE11d48B9d9d6510A906#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x783A434532Ee94667979213af1711505E8bFE374",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: CeloProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x783A434532Ee94667979213af1711505E8bFE374#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": "DelayedWETH",
"isVerified": true,
"address": "eth:0x9c314E8057025F2982aa4B3923Abd741A8e8DE91",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0x265553a76e8c52912e8a4511e9ab4ae344736ebd5f26f3ec97986307c37f28ed",
"implementations": [
"eth:0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796"
]
}
],
"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 CeloProxyAdminOwner\n * **owner**: EOA 9",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9c314E8057025F2982aa4B3923Abd741A8e8DE91#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x9F18D91949731E766f294A14027bBFE8F28328CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"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 CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F18D91949731E766f294A14027bBFE8F28328CC#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879595,
"transactionHash": "0x3fba113c724de4de010b1dd0a044c8d0970effb4a12a9e4eb5450199cd8f0749",
"implementations": [
"eth:0xDFBB69681F217aB3221E94AFCA4fEa51f5c6a779"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0x1e121E21E1A11Ae47C0EFE8A7E13ae3eb4923796"
]
}
],
"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 CeloProxyAdminOwner\n * **owner**: CeloProxyAdminOwner",
"upgradableBy": [
{
"name": "CeloProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa316D42E8Fd98D2Ec364b8bF853d2623E768f95a#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a",
"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/0xaA59A0777648BC75cd10364083e878c1cCd6112a#code"
},
{
"name": "OPSuccinctFaultDisputeGame",
"isVerified": true,
"address": "eth:0xc5bd131ceAEb72F15C66418bc2668332AB99DE37",
"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/0xc5bd131ceAEb72F15C66418bc2668332AB99DE37#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0xcc744008aD3306a716fED303b0A6eA5b5d0690a5",
"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/0xcc744008aD3306a716fED303b0A6eA5b5d0690a5#code"
},
{
"name": "AccessManager",
"isVerified": true,
"address": "eth:0xF59a19c5578291cB7fd22618D16281aDf76f2816",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract managing access control for proposers and challengers in OPSuccinct.\n* Roles:\n * **challengers**: EOA 10, EOA 11, EOA 4, EOA 5, EOA 6, EOA 7\n * **proposers**: EOA 3, EOA 8",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF59a19c5578291cB7fd22618D16281aDf76f2816#code"
}
]
},
"escrows": [
{
"address": "0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC",
"sinceTimestamp": 1741879559,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741879583,
"transactionHash": "0x7411775e32485632423395def2883f19e3a11c66c88c57f08d9975a927e2b166",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1741879583,
"transactionHash": "0x381b707419ae79c88d6fa34ec819396c80ba54f489d47d10ff85c4285b64e447",
"implementations": [
"eth:0x3Da872782f9fB696fD72Af2ec9313a56bDA6f06d"
]
},
{
"timestamp": 1751883851,
"transactionHash": "0x14663947fe932e8ad6d57fe9aa61910d8d2e5fc37ac5e16e4345c3f8e2f7b2d2",
"implementations": [
"eth:0xBeD463769920dAc19a7E2aDf47B6C6Bb6480bD97"
]
},
{
"timestamp": 1751884031,
"transactionHash": "0xa9816c6dcbbe126e3b5c56f26ecfeebcb2dc03ab78535a7d5ed2bcdeea7ccf39",
"implementations": [
"eth:0x215A5fF85308A72A772F09B520dA71D3520e9aC7"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xc5c5D157928BDBD2ACf6d0777626b6C75a9EAEDC#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe",
"sinceTimestamp": 1741879559,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x783A434532Ee94667979213af1711505E8bFE374"
],
"implementations": [
"eth:0x28841965B26d41304905A836Da5C0921DA7dBB84"
]
},
"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/0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct FDP v1.0.2",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client in fault dispute proof mode. Data availability layer is set to EigenDA.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/celo-org/op-succinct/tree/celo/v1.0.2/programs/aggregation",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [celo-org/op-succinct](https://github.com/celo-org/op-succinct) repo: `git checkout celo/v1.0.2` . Commit hash should be `a8d870c320c158a2a2e4eee0303c688b15bea2c0`.\n2. Make sure docker is running by running `docker ps`\n3. From the `op-succinct` dir: `cargo run --bin config --release --features eigenda` to build the SP1 programs for EigenDA features and generate and print verification key hashes.\n ",
"hash": "0x00b37da93c30bef199e4f70190c46367ade11ab988c3cff4c661960919718afd"
},
{
"title": "Range program of OP Succinct FDP v1.0.2",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks in fault dispute proof mode. Data availability layer is set to EigenDA.",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/celo-org/op-succinct/tree/celo/v1.0.2/programs/range/eigenda",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [celo-org/op-succinct](https://github.com/celo-org/op-succinct) repo: `git checkout celo/v1.0.2` . Commit hash should be `a8d870c320c158a2a2e4eee0303c688b15bea2c0`.\n2. Make sure docker is running by running `docker ps`\n3. From the `op-succinct` dir: `cargo run --bin config --release --features eigenda` to build the SP1 programs for EigenDA features and generate and print verification key hashes.\n ",
"hash": "0x05ca7dfb1b7ca7a103fa36750d622f81182eb7c9679b9487418968400e2b1a29"
}
],
"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"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x7b2DA4e77BAE0e0d23c53C3BE6650497d0576CFc",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722357035,
"transactionHash": "0x98231507bfbba69996de5a8572d8f83ccf9756be6232d3f9431e2fc68c98d58b",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1722357035,
"transactionHash": "0x98231507bfbba69996de5a8572d8f83ccf9756be6232d3f9431e2fc68c98d58b",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1727850971,
"transactionHash": "0xe5711797fb601abc2d70e9265a897ba5a16a10125a9cadbd616f938592604fe7",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1737527783,
"transactionHash": "0x2784286656e572cfe0abf2117628fdc5a6cd12e5c060de171c54063b273bc216",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742983103,
"transactionHash": "0x8a8381da196ef20e8eb6868cdfff6f518ea9affc197a6ba7e607e9bd52947d3a",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1748419643,
"transactionHash": "0xe90b1302fcd633e9c1158daba6a6f05512efb7bc437b79eeb4f1a87d52dda076",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1753861967,
"transactionHash": "0x8428717649285a036a7d0463dad7fbec8f244330ddf804401480f369a76e3ecd",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1755756827,
"transactionHash": "0x7fb079169799d3618fdbbde9815e5e1b0afeb2191b301dfb80c9811b67b38489",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1765445075,
"transactionHash": "0xef33b2d54a34da1a1d04bc1929f239f104751f6c1a5776760df176520283c73b",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: CronosZkEVMAdmin; ultimately CronosChainAdminMultisig, EOA 1, TxFiltererOwnerMultisig\n * **getTransactionFilterer**: TransactionFiltererDenyList\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7b2DA4e77BAE0e0d23c53C3BE6650497d0576CFc#code"
},
{
"name": "ValidiumL1DAValidator",
"isVerified": true,
"address": "eth:0x907b30407249949521Bf0c89A43558dae200146A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that 'verifies' the data availability for validiums. This implementation only checks the correct formatting and does not serve as a DA oracle. Can be used by ZK stack validiums as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x907b30407249949521Bf0c89A43558dae200146A#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x4d335C5C08FEc91a39965351AbB6E315ad2e9ff3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d335C5C08FEc91a39965351AbB6E315ad2e9ff3#code"
},
{
"name": "CronosZkEVMAdmin",
"isVerified": true,
"address": "eth:0x6a88E8f6B5382d87F39213eB3df43c5FF2498Dd4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **admins**: CronosChainAdminMultisig, EOA 1, TxFiltererOwnerMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6a88E8f6B5382d87F39213eB3df43c5FF2498Dd4#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD324a7c8556A059371B207fB96FD77bE24E2042c#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"CRO",
"USDC",
"WBTC",
"zkCRO",
"FUL",
"FRTN",
"MOON"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Cronos zkEVM and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x309429DE3621992Cb0ab8982A448c9Cc5c38405b",
"l2EtherAddress": "0x898B3560AFFd6D955b1574D87EE09e46669c60eA",
"tokensToAssignFromL1": [
"zkCRO"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x0d93eAA86eb6948b977857750A5512Bef6B05C51"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430379,
"transactionHash": "0xc392745fd3e67d4347ad194517bde29387a4dc7c626b827972102ca69640dda5",
"implementations": [
"eth:0x0d93eAA86eb6948b977857750A5512Bef6B05C51"
]
},
{
"timestamp": 1715671307,
"transactionHash": "0x4fd0c1776784e1eb46c2163c016d617ee9ae7a8f048eee48b90ac4c4a1dd9163",
"implementations": [
"eth:0x414066fd3dadC875531BE2992770aDab2ecB6366"
]
},
{
"timestamp": 1715673083,
"transactionHash": "0x3cc67944142886e727f20803c61e7bbf540886871bee9b34f032ecd9973c98e7",
"implementations": [
"eth:0x0d93eAA86eb6948b977857750A5512Bef6B05C51"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10E34EfE14E4D270C0f77Bf1aF01b6C832161B49#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430835,
"transactionHash": "0xd4fd4cd6ce6aad5d056750a7b68db1a42f9867bbbd504e6a1015d94f17f03eb7",
"implementations": [
"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"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 Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430679,
"transactionHash": "0x7baf10386f86fa4c2c95447255dcc4abd2fa9444f3972cefd55c53e9fb9e7998",
"implementations": [
"eth:0x726C6ac8A53061e56AfB2c890545348ba6f0DF0E"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"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 Cyber Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Cyber Multisig 2",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5D1F4bbaF6D484fA9D5D9705f92dE6063bff6055#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763438987,
"transactionHash": "0x354e34abdcb87ccd2379801c787eb9f3899d8cea17ab12573f2ebeb40ef10b1d",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
}
],
"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 Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCc66304d26a01A9bd60d0584dCEdbaCeC8e10e0#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x12a580c05466eefb2c467C6b115844cDaF55B255",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x12a580c05466eefb2c467C6b115844cDaF55B255#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430763,
"transactionHash": "0xbd95ce28613d85f3168404146fdc7ac9eff1b161479cea7504d95d7bf2dfccd2",
"implementations": [
"eth:0x849d0821B1D313b65f6FF152176F4b6a0AF7aa56"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
}
],
"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 Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3c01ebF22e9c111528c1E027D68944eDaB08Dfc9#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430715,
"transactionHash": "0x45f84739a98d87d3f74dc44571cac69b624fd3e0cd2ac82ce23aabec05e51fb3",
"implementations": [
"eth:0x1234c7a75f40551Fce5aFf1d58efD72F2ee2AFB1"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F4B716627D2Ba0439327Ce8B563b4443aF47Dbd#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x795F854562d82b3A051e415f6c48B2766521C855"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763439011,
"transactionHash": "0x0cf1741c2a6d18e26d76b053c232622771540d0424dcbd225d4073e794573c0b",
"implementations": [
"eth:0x795F854562d82b3A051e415f6c48B2766521C855"
]
}
],
"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 Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0Ca6c5aef8dBC91368C61871fDC51Ef884843e07#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430727,
"transactionHash": "0x8b50a69675b2c276948af99ad89046cbc03b5fe33b9ddaeaacf3f31572ad3184",
"implementations": [
"eth:0x985F187489954435ddf9571D45500184566e4B46"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
}
],
"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 Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x51A00470Eb50D758EcFF3B96DB0bF4A8e86268F4#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"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/0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x6A9AFfDcfeF73f66177a1386590607F444520571",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763439023,
"transactionHash": "0xa5c21d138ee301c3fd84df71d8bfa88d6ebbb968d095a2d25d915bb7b1c006de",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
}
],
"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 Cyber Multisig 1\n * **owner**: Cyber Multisig 1",
"upgradableBy": [
{
"name": "Cyber Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6A9AFfDcfeF73f66177a1386590607F444520571#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b",
"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* Roles:\n * **challenger**: EOA 4\n * **proposer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x719206d1C83D16FBcAB21f9e9DBF5A8178567E2b#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Cyber Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7E54107731EC43e78DA678DFa5fB6222Ad036e03#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"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/0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
}
]
},
"escrows": [
{
"address": "0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99",
"sinceTimestamp": 1713430391,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713430835,
"transactionHash": "0xd4fd4cd6ce6aad5d056750a7b68db1a42f9867bbbd504e6a1015d94f17f03eb7",
"implementations": [
"eth:0xACfD93B4887cef4F05cF3440d150D2cE97339142"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764210551,
"transactionHash": "0x540b3710f8fc0ff0dfd8db25f025e0a92c37a90be3af7e2f8bd07f7217d4138b",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x1d59bc9fcE6B8E2B1bf86D4777289FFd83D24C99#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x12a580c05466eefb2c467C6b115844cDaF55B255",
"sinceTimestamp": 1713430415,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x12a580c05466eefb2c467C6b115844cDaF55B255",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7E54107731EC43e78DA678DFa5fB6222Ad036e03"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"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/0x12a580c05466eefb2c467C6b115844cDaF55B255#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Cyber",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"verificationStatus": "unsuccessful",
"hash": "0x03c7ae758795765c6664a5d39bf63841c71ff191e9189522bad8ebff5d4eca98"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x0341bb689CB8a4c16c61307F4BdA254E1bFD525e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xE5000acFE7997a7B381C4d9f72fB593AD0AD6034"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0xf19cab212e86e37ae252129a1f96aefbe4a1efc8657d06626b07dda1a81a9836",
"implementations": [
"eth:0xE5000acFE7997a7B381C4d9f72fB593AD0AD6034"
]
},
{
"timestamp": 1718111423,
"transactionHash": "0x08ad26f1a190ca9c62471b3f5fba14725a8cc373b766f7d47a2c45f3cd7a3b09",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718111423,
"transactionHash": "0x08ad26f1a190ca9c62471b3f5fba14725a8cc373b766f7d47a2c45f3cd7a3b09",
"implementations": [
"eth:0xE5000acFE7997a7B381C4d9f72fB593AD0AD6034"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately DeBank Multisig\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0341bb689CB8a4c16c61307F4BdA254E1bFD525e#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x63CA00232F471bE2A3Bf3C4e95Bc1d2B3EA5DB92",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xF666CE8Bf4d1b1be67eCe022132B36ee2e89c031"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0x58434116437eb73b0365d8b885a8ae94d3e63b5b327466874300a79cfdce552d",
"implementations": [
"eth:0x09eBA78DED12068c301dFF046333424AE2521578"
]
},
{
"timestamp": 1717722611,
"transactionHash": "0xf85356fcfad851267c465dfc9468c8e85d62e0d61d1da5a6e7ae57efba63ff27",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1717722611,
"transactionHash": "0xf85356fcfad851267c465dfc9468c8e85d62e0d61d1da5a6e7ae57efba63ff27",
"implementations": [
"eth:0xF666CE8Bf4d1b1be67eCe022132B36ee2e89c031"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately DeBank Multisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x63CA00232F471bE2A3Bf3C4e95Bc1d2B3EA5DB92#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xcCcc98e93CeE060a03604D3916EE527a57078c8b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xcb32593E7eD1FBbf6db22348d444e2b1dDe71Fe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0x466528522989d9fa128392a5a30f1e2e5e435d876a8686cb0b87ad99539c9ac4",
"implementations": [
"eth:0xcb32593E7eD1FBbf6db22348d444e2b1dDe71Fe6"
]
}
],
"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 DeBank Multisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcCcc98e93CeE060a03604D3916EE527a57078c8b#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xC8271C3Be50B9D575220dA2F9FE2f670DD6483D6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xAB4DaE8DA2708609D81636Ca5C27CAa489160B63"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462691,
"transactionHash": "0xdc6debb37dff450fcfce7ce0c48ad8d5c15e6da82feafcc99c17aec59eea6eca",
"implementations": [
"eth:0xAB4DaE8DA2708609D81636Ca5C27CAa489160B63"
]
}
],
"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 DeBank Multisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC8271C3Be50B9D575220dA2F9FE2f670DD6483D6#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x28f1b9F457CB51E0af56dff1d11CD6CEdFfD1977",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xE62EaD0c8d90f602AdE7c9B0df89025AFB61AbA4"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately DeBank Multisig",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x28f1b9F457CB51E0af56dff1d11CD6CEdFfD1977#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xc4C9bfB77DAC8d8d03Fd24E1C2b86bb6A0664b02",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xBb41aeB788607249b3D479CB42d1eb466f28d1Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0xc30602e0a47fba79f14efb790e4b23237afd7f7284024d83559e67d44088b685",
"implementations": [
"eth:0xBb41aeB788607249b3D479CB42d1eb466f28d1Cd"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately DeBank Multisig",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4C9bfB77DAC8d8d03Fd24E1C2b86bb6A0664b02#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xDEfab7699Ed60a863dce4B1095576F6d9EC5d254",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0x307c7773097445400d2F2a51D65e38AEa8231868"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0x70b2dbc67ddbed213866f3966fa2c46f3f0d710f41f7379ecd47614c088193e2",
"implementations": [
"eth:0x307c7773097445400d2F2a51D65e38AEa8231868"
]
}
],
"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 DeBank Multisig",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDEfab7699Ed60a863dce4B1095576F6d9EC5d254#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x7F7a01cBE67a31625B0C137e835a12d494E293c2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0x2470eE5fDCa25fD60d178e16821931f830200ef9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0x1ebf611f132092531465b906730ee8c7c85a526b2126e6b28d76faae76e73d69",
"implementations": [
"eth:0x2470eE5fDCa25fD60d178e16821931f830200ef9"
]
}
],
"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 DeBank Multisig",
"upgradableBy": [
{
"name": "DeBank Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F7a01cBE67a31625B0C137e835a12d494E293c2#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x830e68669019a05F41676546417D2A06fdfFF9fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: DeBank Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x830e68669019a05F41676546417D2A06fdfFF9fB#code"
}
]
},
"escrows": [
{
"address": "0x63CA00232F471bE2A3Bf3C4e95Bc1d2B3EA5DB92",
"sinceTimestamp": 1717462691,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x63CA00232F471bE2A3Bf3C4e95Bc1d2B3EA5DB92",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xF666CE8Bf4d1b1be67eCe022132B36ee2e89c031"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717462715,
"transactionHash": "0x58434116437eb73b0365d8b885a8ae94d3e63b5b327466874300a79cfdce552d",
"implementations": [
"eth:0x09eBA78DED12068c301dFF046333424AE2521578"
]
},
{
"timestamp": 1717722611,
"transactionHash": "0xf85356fcfad851267c465dfc9468c8e85d62e0d61d1da5a6e7ae57efba63ff27",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1717722611,
"transactionHash": "0xf85356fcfad851267c465dfc9468c8e85d62e0d61d1da5a6e7ae57efba63ff27",
"implementations": [
"eth:0xF666CE8Bf4d1b1be67eCe022132B36ee2e89c031"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x63CA00232F471bE2A3Bf3C4e95Bc1d2B3EA5DB92#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x28f1b9F457CB51E0af56dff1d11CD6CEdFfD1977",
"sinceTimestamp": 1717462691,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x28f1b9F457CB51E0af56dff1d11CD6CEdFfD1977",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x830e68669019a05F41676546417D2A06fdfFF9fB"
],
"implementations": [
"eth:0xE62EaD0c8d90f602AdE7c9B0df89025AFB61AbA4"
]
},
"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/0x28f1b9F457CB51E0af56dff1d11CD6CEdFfD1977#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "base:0x88dBaaeCDa265241a1BABe4A0ce69ad4957da8a2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0xC3B5Ddf3C1Bf4b6cF905533E0584288EF179E805"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1719319543,
"transactionHash": "0x94c986f7a7edd5c8e085a38f6f8b510f484eecf5751435659ffabca83ba1ea75",
"implementations": [
"base:0xC3B5Ddf3C1Bf4b6cF905533E0584288EF179E805"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **challenger**: Conduit Multisig 3\n * **proposer**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x88dBaaeCDa265241a1BABe4A0ce69ad4957da8a2#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "base:0xa096dD38362bd2cE3C696474329989960722A7Fd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0x157B6514c57D506A589b72F076d9F87b24E23Eac"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1719319543,
"transactionHash": "0xffd6df0b2ac7ee1d79ff9401dcd0e17724a073107c33302aaa46095001fe7705",
"implementations": [
"base:0x157B6514c57D506A589b72F076d9F87b24E23Eac"
]
}
],
"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 EOA 1\n * **batcherHash**: EOA 2\n * **owner**: Conduit Multisig 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xa096dD38362bd2cE3C696474329989960722A7Fd#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "base:0xb765Df9d2925a82678F4B7bc60eF5294c1604514",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0x764b431e61972Ae785b504B373efb139F38A7694"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1719319543,
"transactionHash": "0x93e941b1d46570ed04e5d203e8a59ca1b007f2d576260ad28477f5d8cd66cf17",
"implementations": [
"base:0x764b431e61972Ae785b504B373efb139F38A7694"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **guardian**: Conduit Multisig 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xb765Df9d2925a82678F4B7bc60eF5294c1604514#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "base:0x4A2b7478B9646c06C3517E6f06e1232684143C00",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0x55b6A23e45611e5856beC4b97c433908Ef84d8c5"
],
"immutable": false
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1719319541,
"transactionHash": "0xdc01bdc0c08021226a293cddcf072ef8652cb2963de3358464c2e3c6b7f68d9e",
"implementations": [
"base:0x4A2b7478B9646c06C3517E6f06e1232684143C00"
]
},
{
"timestamp": 1719319543,
"transactionHash": "0xc8d7f5f91fb5d71295f519a9d985bd4887e4af5686b83dabf015c4837aede644",
"implementations": [
"base:0x55b6A23e45611e5856beC4b97c433908Ef84d8c5"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4A2b7478B9646c06C3517E6f06e1232684143C00#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "base:0xBbea8Cc549702F67cc082d2cAA9842Ba3767536B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0x5c94e4b101EF3bC8554890c7D33Fae938Be737c0"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xBbea8Cc549702F67cc082d2cAA9842Ba3767536B#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15#code"
}
]
},
"escrows": [
{
"address": "0xb765Df9d2925a82678F4B7bc60eF5294c1604514",
"sinceTimestamp": 1719319541,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "base:0xb765Df9d2925a82678F4B7bc60eF5294c1604514",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0x764b431e61972Ae785b504B373efb139F38A7694"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1719319543,
"transactionHash": "0x93e941b1d46570ed04e5d203e8a59ca1b007f2d576260ad28477f5d8cd66cf17",
"implementations": [
"base:0x764b431e61972Ae785b504B373efb139F38A7694"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xb765Df9d2925a82678F4B7bc60eF5294c1604514#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xBbea8Cc549702F67cc082d2cAA9842Ba3767536B",
"sinceTimestamp": 1719319541,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "base:0xBbea8Cc549702F67cc082d2cAA9842Ba3767536B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85519ecD4E4c59E62B68dB2082dB1F5c75da1E15"
],
"implementations": [
"base:0x5c94e4b101EF3bC8554890c7D33Fae938Be737c0"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xBbea8Cc549702F67cc082d2cAA9842Ba3767536B#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "StarkPerpetual",
"isVerified": true,
"address": "eth:0xfAaE2946e846133af314d1Df13684c89fA7d83DD",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x57814cC6e075f517781cB7c3B42897B3Bb2C54d8"
],
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720435943,
"transactionHash": "0xb4a37a973c29b0213d2622a6ab1faac67ac73ca271c14664818b3f9604cb7eaf",
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: Safe\n * **operators**: EOA 1, EOA 3\n * **tokenAdmins**: EOA 2",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfAaE2946e846133af314d1Df13684c89fA7d83DD#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "AggregationRouterV5",
"isVerified": true,
"address": "eth:0x1111111254EEB25477B68fb85Ed929f73A960582",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "1inch DEX aggregator supporting RFQ fills, limit-order fills and direct DEX swaps.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1111111254EEB25477B68fb85Ed929f73A960582#code"
},
{
"name": "FinalizableCommittee",
"isVerified": true,
"address": "eth:0x23bf3dcc14680162b7f5355aAbb56D31823c946e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DAC with admin funtions to manage members. Admins are not discoverable and thus not shown here.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23bf3dcc14680162b7f5355aAbb56D31823c946e#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0x4abBc1826389aC0FEaA49E70c30a041b665e8562",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`2530337539466159944237001094809327283009177793361359619481044346150483328860`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4abBc1826389aC0FEaA49E70c30a041b665e8562#code"
},
{
"name": "PerpetualEscapeVerifier",
"isVerified": true,
"address": "eth:0xaadFdB9CAc145c65f2284fBe24600d07fb37F7BD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Special verifier for the escape() function.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaadFdB9CAc145c65f2284fBe24600d07fb37F7BD#code"
},
{
"name": "EdgeXDepositor",
"isVerified": true,
"address": "eth:0xC0a1a1e4AF873E9A37a0caC37F3aB81152432Cc5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A deposit wrapper that allows users to deposit arbitrary tokens to EdgeX. Tokens are swapped to USDT via 1inch and deposited to edgeX. This deposit wrapper also has fast withdrawal support using liquidity providers, but it seems deprecated in practice. Standard direct deposits and withdrawals of USDT at the StarkPerpetual contract are fully supported.\n* Roles:\n * **signers**: EOA 4, EOA 5, EOA 6",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC0a1a1e4AF873E9A37a0caC37F3aB81152432Cc5#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xfAaE2946e846133af314d1Df13684c89fA7d83DD",
"sinceTimestamp": 1720435859,
"tokens": [
"USDT"
],
"contract": {
"isVerified": true,
"address": "eth:0xfAaE2946e846133af314d1Df13684c89fA7d83DD",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x57814cC6e075f517781cB7c3B42897B3Bb2C54d8"
],
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720435943,
"transactionHash": "0xb4a37a973c29b0213d2622a6ab1faac67ac73ca271c14664818b3f9604cb7eaf",
"implementations": [
"eth:0x8C43C9bec15d82D153C52518030e0a9590ABD35d",
"eth:0x540Ad8576d2F90f28994ab001622F964945854A8",
"eth:0x1BC9C618B7FA6b5EfAAD31DC801eB55c608B9310",
"eth:0x45de249eEa8f9CDB70943B17CceDeb42F5BA0175",
"eth:0x31e2d974BaC547101413c24C23443AD488423f64"
]
}
],
"url": "https://etherscan.io/address/0xfAaE2946e846133af314d1Df13684c89fA7d83DD#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program ApeX and EdgeX",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "2530337539466159944237001094809327283009177793361359619481044346150483328860"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "PlonkVerifierV3",
"isVerified": true,
"address": "eth:0x098C593361d12DD638Ce7dBf34c8C6a655f8274c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x098C593361d12DD638Ce7dBf34c8C6a655f8274c#code"
},
{
"name": "HotShotLightClient",
"isVerified": true,
"address": "eth:0x95Ca91Cea73239b15E5D2e5A74d02d6b5E0ae458",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x34F5af5158171Ffd2475d21dB5fc3B311F221982"
],
"implementations": [
"eth:0x0177b586A949088309227f1A91951571CF770D8C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730830835,
"transactionHash": "0x48bc49aef98e23cde6494da9897bac992ea11e7390c162bb86baa5a2c2209c4c",
"implementations": [
"eth:0x2E81FD03725158903FD32E41b0357C47941BB2c3"
]
},
{
"timestamp": 1746118643,
"transactionHash": "0x61a3f76709191c8149c61f1aed15846ac8debd71a50540f71d94f21882323e41",
"implementations": [
"eth:0xBE0aA3c41A906ABDc48cE21A0960E8311535cA4B"
]
},
{
"timestamp": 1772483759,
"transactionHash": "0x6add50bc3075d1f66a1c9f57a5c38792140f5c757978ffce813da4c193ab2232",
"implementations": [
"eth:0x4DF3515bB525787e9eae08B8f9647C30F6FA7d93"
]
},
{
"timestamp": 1772490059,
"transactionHash": "0xce95265e02f16c8f7d227474167c4ce8dea8b540696748c8fad1676a6cc44269",
"implementations": [
"eth:0x0177b586A949088309227f1A91951571CF770D8C"
]
}
],
"description": "The DA bridge contract that stores and verifies HotShot state commitments on Ethereum.\n* Roles:\n * **admin**: EspressoMultisig\n * **owner**: EspressoMultisig\n * **permissionedProver**: EOA 1",
"upgradableBy": [
{
"name": "EspressoMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95Ca91Cea73239b15E5D2e5A74d02d6b5E0ae458#code"
},
{
"name": "OperatorRegistryV1Admin",
"isVerified": true,
"address": "eth:0x9760fb6F48c15f37304bCb5B502F00512032A3Bb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9760fb6F48c15f37304bCb5B502F00512032A3Bb#code"
}
]
},
"risks": [
{
"category": "Funds can be lost if",
"text": "the bridge contract or its dependencies receive a malicious code upgrade. There is no delay on code upgrades."
}
],
"zkVerifiers": [
"eth:0x098C593361d12DD638Ce7dBf34c8C6a655f8274c"
]
}
+1 -2
+1 -2
{
"creator": "Espresso Systems",
"projectsForTvs": [
{
"projectId": "espresso",
"sinceTimestamp": 1730830799
}
],
"proofSystemInfo": "\n ## Description\n\n Espresso proof system implements a light client of HotShot consensus of Espresso network, i.e. it verifies that a sufficient number of Espresso nodes have correctly signed consensus message. It is implemented by a [Jellyfish Plonk](https://github.com/EspressoSystems/jellyfish) proof system on a [custom circuit](https://github.com/EspressoSystems/espresso-network/blob/2c166fe13a730733d18198d3989d3be2b4c42da8/hotshot-state-prover/src/v3/circuit.rs) that checks all necessary conditions. Jellyfish is a Rust implementation of [Plonk system](https://eprint.iacr.org/2019/953.pdf) without significant modifications. [This code](https://github.com/EspressoSystems/espresso-network/blob/2c166fe13a730733d18198d3989d3be2b4c42da8/contracts/rust/gen-vk-contract/src/main.rs) generates a Solidity verifier to check zk proofs within EVM.\n ",
"techStack": {
"snark": [
{
"id": "Jellyfish",
"type": "Plonk",
"name": "Jellyfish",
"description": "Open-source toolkit of various cryptographic primitives, including an implementation of Plonk SNARK, developed in Rust by Espresso Systems."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Jellyfish",
"type": "Plonk",
"name": "Jellyfish",
"description": "Open-source toolkit of various cryptographic primitives, including an implementation of Plonk SNARK, developed in Rust by Espresso Systems."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0x060faa7957cb2ffdc75de8ea20d1eb50277c7fb0d2f48ecb7e2db7956d0bdad4",
"name": "Espresso verifier v3",
"sourceLink": "https://github.com/EspressoSystems/jellyfish",
"proofSystem": {
"id": "Jellyfish",
"type": "Plonk",
"name": "Jellyfish",
"description": "Open-source toolkit of various cryptographic primitives, including an implementation of Plonk SNARK, developed in Rust by Espresso Systems."
},
"knownDeployments": [
{
"address": "0x098C593361d12DD638Ce7dBf34c8C6a655f8274c",
"chain": "ethereum"
"address": "eth:0x098C593361d12DD638Ce7dBf34c8C6a655f8274c"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed flattened VerifyingKey structure returned by _getVk() function on the Espresso Light Client contract (0x95Ca91Cea73239b15E5D2e5A74d02d6b5E0ae458)."
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x0eB331B615030819464225Ecd373e5FFBE502DC4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0xC12C14d46a53a0BBAA1e71Ae42bA4fAb079E7933"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0x30ace228b6e247f39ef8432f7f5f7296662c6cb38927eef21b8cb9cb65e48be9",
"implementations": [
"eth:0xC12C14d46a53a0BBAA1e71Ae42bA4fAb079E7933"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **challenger**: Gelato Multisig\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0eB331B615030819464225Ecd373e5FFBE502DC4#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x20c3035C92bdB4C461242571EeAc59EeD03Df931",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0xe9670A42Fd1433c29Eda37eE63EF96A3277A9b93"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0x3ebf7857e7f1931ea03499f93ca65e7d839ac1bc4526773c2a6f627e54c423a7",
"implementations": [
"eth:0xe9670A42Fd1433c29Eda37eE63EF96A3277A9b93"
]
}
],
"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 Gelato Multisig\n * **batcherHash**: EOA 2\n * **owner**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20c3035C92bdB4C461242571EeAc59EeD03Df931#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xDA29f0B4da6c23f6c1aF273945c290C0268c4ea9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0x8956B5301DbB0e410b97006DdC07a8f360062D04"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0x29e0f2ae2d58ccecfa1229a7454b58f2fd5740546acbc4ef3f7e949106661b69",
"implementations": [
"eth:0x8956B5301DbB0e410b97006DdC07a8f360062D04"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **guardian**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDA29f0B4da6c23f6c1aF273945c290C0268c4ea9#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x14B768F93f256Ad8D2d018930DBdAe61306c4752",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0xD3fc43F83E0f287b9438cE323AC0Da8dEf28c65b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548899,
"transactionHash": "0x9e4f74267f905057a28a139328c16b8789232f887c3e19286c62b7789a481975",
"implementations": [
"eth:0xD3fc43F83E0f287b9438cE323AC0Da8dEf28c65b"
]
}
],
"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 Gelato Multisig\n * **guardian**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x14B768F93f256Ad8D2d018930DBdAe61306c4752#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x00050ae93fBFaf5823A4ae229E4651F7F7A02FfA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0x26dcD660CFe0ae991053dA73077914F95C15E79D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0xc7c67993d5bad49187d82d0cb6597b33efa0e946bf474bc710e1fe97950f3b14",
"implementations": [
"eth:0x26dcD660CFe0ae991053dA73077914F95C15E79D"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x00050ae93fBFaf5823A4ae229E4651F7F7A02FfA#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x226A1e4A3D8e64A9De8423F9344348c179C72CB2",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0xcfB7B0E4f49782CE44A2f590180ecE5Ea3FF43e5"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0xf4a10c74928194b1e5f11ce93bb12bf95551c23825e4c2830d8c31b64fbe1644",
"implementations": [
"eth:0xcfB7B0E4f49782CE44A2f590180ecE5Ea3FF43e5"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x226A1e4A3D8e64A9De8423F9344348c179C72CB2#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x908C324c35fF36F64236A7CDa4D50f3003E9C5C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0x4AEC9D641b46124f89dcf3a0C16f75053a8B836c"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x908C324c35fF36F64236A7CDa4D50f3003E9C5C3#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EthernityMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x45BEaf3Bd26b76796692b1Ef1E67469B84ADB914",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0x7f3710c09FcB168d11E4761c8e2683f3d207b202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0x0d84389766cc18045dc29e04946e3816cc6980ee837544ee6fadfa20b28cf373",
"implementations": [
"eth:0x7f3710c09FcB168d11E4761c8e2683f3d207b202"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45BEaf3Bd26b76796692b1Ef1E67469B84ADB914#code"
}
]
},
"escrows": [
{
"address": "0xDA29f0B4da6c23f6c1aF273945c290C0268c4ea9",
"sinceTimestamp": 1723548899,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xDA29f0B4da6c23f6c1aF273945c290C0268c4ea9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0x8956B5301DbB0e410b97006DdC07a8f360062D04"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723548911,
"transactionHash": "0x29e0f2ae2d58ccecfa1229a7454b58f2fd5740546acbc4ef3f7e949106661b69",
"implementations": [
"eth:0x8956B5301DbB0e410b97006DdC07a8f360062D04"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xDA29f0B4da6c23f6c1aF273945c290C0268c4ea9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x908C324c35fF36F64236A7CDa4D50f3003E9C5C3",
"sinceTimestamp": 1723548899,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x908C324c35fF36F64236A7CDa4D50f3003E9C5C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0bc380347A0B7aF5453492CAF20e1E38bc0Abc2f"
],
"implementations": [
"eth:0x4AEC9D641b46124f89dcf3a0C16f75053a8B836c"
]
},
"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/0x908C324c35fF36F64236A7CDa4D50f3003E9C5C3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+4 -1
+4 -1
{
"addresses": {
"ethereum": [
{
"name": "Rollup",
"isVerified": true,
"address": "eth:0xA9Bbcad27E1571AAFAD89F953c81c8A1440A0b8b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Core rollup contract that manages the state of the rollup and its ZK fault proof system.\n* Roles:\n * **owner**: Facet Multisig\n * **whitelistedProposers**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA9Bbcad27E1571AAFAD89F953c81c8A1440A0b8b#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": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0xa236E6E31d94b613923d18313f534CE5b6b98eE1",
"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",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa236E6E31d94b613923d18313f534CE5b6b98eE1#code"
}
],
"ethscriptions": [
{
"name": "Ethscriptions",
"isVerified": true,
"address": "ethscr:0x3300000000000000000000000000000000000001",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ethscr:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ethscr:0xc0D3C0d3C0d3c0d3c0D3C0D3C0D3C0d3c0d30001"
]
},
"chain": "ethscriptions",
"pastUpgrades": [],
"description": "Core Ethscriptions NFT contract that manages ethscription ownership and metadata on L2.\n* Roles:\n * **admin**: Proxy",
"upgradableBy": [
{
"name": "Proxy",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.ethscriptions.com/address/0x3300000000000000000000000000000000000001#code"
},
{
"name": "EthscriptionsProver",
"isVerified": true,
"address": "ethscr:0x3300000000000000000000000000000000000003",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ethscr:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ethscr:0xC0D3c0d3C0d3C0D3c0D3c0D3C0D3c0d3C0d30003"
]
},
"chain": "ethscriptions",
"pastUpgrades": [],
"description": "L2 predeploy that automatically sends ethscription state snapshots to L1 via the L2ToL1MessagePasser whenever an ethscription is created or transferred.\n* Roles:\n * **admin**: Proxy",
"upgradableBy": [
{
"name": "Proxy",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.ethscriptions.com/address/0x3300000000000000000000000000000000000003#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "ethscr:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ethscr:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ethscr:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "ethscriptions",
"pastUpgrades": [],
"description": "L2 predeploy for passing messages from L2 to L1. Messages are automatically sent by the EthscriptionsProver when ethscriptions are created or transferred.\n* Roles:\n * **admin**: Proxy",
"upgradableBy": [
{
"name": "Proxy",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.ethscriptions.com/address/0x4200000000000000000000000000000000000016#code"
}
]
},
"escrows": [],
"programHashes": [
{
"title": "Aggregation program of Ethscriptions ZK Fault Proofs",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of the Ethscriptions L2 client.",
"programUrl": "https://github.com/0xFacet/ethscriptions-zk-fault-proofs/tree/251c5248cf92b544a3e6b1b4c0b98b0146dab1c6/programs/aggregation",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [ethscriptions-zk-fault-proofs](https://github.com/0xFacet/ethscriptions-zk-fault-proofs) repo: `git checkout ethscriptions` . Commit hash should be `251c5248cf92b544a3e6b1b4c0b98b0146dab1c6`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo run --bin config --release` to build the SP1 programs and generate and print verification key hashes.\n ",
"hash": "0x001d6dd65980c80ef8496f4a0bd9b2ccc1c9e66aeb122f841e0b90e322bbacdd"
},
{
"title": "Range program of Ethscriptions ZK Fault Proofs",
"description": "Proves correct state transition function within the Ethscriptions L2 client over a range of consecutive L2 blocks.",
"programUrl": "https://github.com/0xFacet/ethscriptions-zk-fault-proofs/tree/251c5248cf92b544a3e6b1b4c0b98b0146dab1c6/programs/range/ethereum",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [ethscriptions-zk-fault-proofs](https://github.com/0xFacet/ethscriptions-zk-fault-proofs) repo: `git checkout ethscriptions` . Commit hash should be `251c5248cf92b544a3e6b1b4c0b98b0146dab1c6`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo run --bin config --release` to build the SP1 programs and generate and print verification key hashes.\n ",
"hash": "0x5a02c6f96d93f5ff1bfe8f5f2f7f158a3bc6ab7e294d3f7824507a1c67edf594"
}
],
"risks": []
"risks": [],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
]
}
+5 -1
+5 -1
{
"addresses": {
"ethereum": [
{
"name": "Rollup",
"isVerified": true,
"address": "eth:0x686E7d01C7BFCB563721333A007699F154C04eb4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Core rollup contract that manages the state of the rollup and its ZK fault proof system.\n* Roles:\n * **owner**: Facet Multisig\n * **whitelistedProposers**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x686E7d01C7BFCB563721333A007699F154C04eb4#code"
},
{
"name": "L1Bridge",
"isVerified": true,
"address": "eth:0x4E2eBa30a786c0643699b92234d74a71e958C08E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "L1Bridge is an ETH bridge built on top of Rollup contract. It is the selected canonical bridge for this risk analysis. It used to bridge ETH from L1 to L2. Note that the token received on L2 has a different ticker/symbol than the token sent on L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4E2eBa30a786c0643699b92234d74a71e958C08E#code"
},
{
"name": "L1ETHLockbox",
"isVerified": true,
"address": "eth:0x8F75466D69a52EF53C7363F38834bEfC027A2909",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe2A3bda6CD571943DD4224d0B8872e221EB5997C"
],
"implementations": [
"eth:0x77764Bdf2B52C4B2635A73927945541B65DF74E9"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Deprecated entry point to deposit ERC20 tokens from host chain to this chain. Currently just holds ETH that the Facet multisig can withdraw.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8F75466D69a52EF53C7363F38834bEfC027A2909#code"
},
{
"name": "FastExternalBridge",
"isVerified": true,
"address": "eth:0x0000000000000b07ED001607f5263D85bf28Ce4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x68c56f4D88846A4Cdce966d92D92a0636baf40FE"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "A Facet implementation of the ETH Bridge. This bridge is also called \"fast bridge\" as it uses a permissioned EOA as operator for faster withdrawal processing.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0000000000000b07ED001607f5263D85bf28Ce4C#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": "FacetSafeModule",
"isVerified": true,
"address": "eth:0x3235AdE33cF7013f5b5A51089390396e931e6BCF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Module that allows the Safe to send Facet transactions.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3235AdE33cF7013f5b5A51089390396e931e6BCF#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5",
"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/0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x70C7FdB9e543bD15cd392df04e6d4BD05AfD8A66",
"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",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x70C7FdB9e543bD15cd392df04e6d4BD05AfD8A66#code"
},
{
"name": "FacetSafeProxy",
"isVerified": true,
"address": "eth:0xC9F2d55C56Ef9fE4262c4d5b48d8032241AF4d25",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper of the Safe Module that allows to send Facet transactions.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC9F2d55C56Ef9fE4262c4d5b48d8032241AF4d25#code"
}
],
"facet": [
{
"name": "L2Bridge",
"isVerified": true,
"address": "facet:0x016bE6d77b783aBdDccaF3fea49ffa9c1CA660D4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "facet",
"description": "L2Bridge is an ERC20 minter counterpart to an L1 bridge. This contract is used to mint new ERC20 tokens on the L2 once a token deposit is made on the L1. Note that the token received on L2 could have a different ticker/symbol than the token sent on L1.\n",
"discoveryDrivenData": true,
"url": "https://explorer.facet.org/address/0x016bE6d77b783aBdDccaF3fea49ffa9c1CA660D4#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "facet:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"facet:0x4200000000000000000000000000000000000018"
],
"implementations": [
"facet:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "facet",
"pastUpgrades": [],
"description": "L2ToL1MessagePasser is a contract that allows messages to be sent from the L2 to the L1, used to send withdrawal requests from the L2 to the L1.\n",
"discoveryDrivenData": true,
"url": "https://explorer.facet.org/address/0x4200000000000000000000000000000000000016#code"
}
]
},
"escrows": [
{
"address": "0x4E2eBa30a786c0643699b92234d74a71e958C08E",
"sinceTimestamp": 1754512679,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x4E2eBa30a786c0643699b92234d74a71e958C08E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Canonical escrow for ETH bridge.",
"url": "https://etherscan.io/address/0x4E2eBa30a786c0643699b92234d74a71e958C08E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x0000000000000b07ED001607f5263D85bf28Ce4C",
"sinceTimestamp": 1734701579,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x0000000000000b07ED001607f5263D85bf28Ce4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x68c56f4D88846A4Cdce966d92D92a0636baf40FE"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Fast external bridge contract.",
"url": "https://etherscan.io/address/0x0000000000000b07ED001607f5263D85bf28Ce4C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Facet fast bridge"
}
]
},
"chainId": 1
},
{
"address": "0x8F75466D69a52EF53C7363F38834bEfC027A2909",
"sinceTimestamp": 1733855519,
"tokens": [
"ETH",
"WETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8F75466D69a52EF53C7363F38834bEfC027A2909",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe2A3bda6CD571943DD4224d0B8872e221EB5997C"
],
"implementations": [
"eth:0x77764Bdf2B52C4B2635A73927945541B65DF74E9"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "L1ETHLockbox (deprecated).",
"url": "https://etherscan.io/address/0x8F75466D69a52EF53C7363F38834bEfC027A2909#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Facet deprecated bridge"
}
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client. Data availability layer is set to Ethereum blobs.",
"programUrl": "https://github.com/0xFacet/zk-fault-proofs/tree/facet/programs/aggregation",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare: \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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [zk-fault-proofs](https://github.com/0xFacet/zk-fault-proofs) repo: `git checkout facet` . Commit hash should be `ad0ef0488e714212cb420ae04c9b242d9ef26f24`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo run --bin config --release` to build the SP1 programs and generate and print verification key hashes.\n ",
"hash": "0x0083a8b50160475a7a5911c03dfdee30f6c8a83112a71c5c1125cfb96148b8c2"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks. Data availability layer is set to Ethereum blobs.",
"programUrl": "https://github.com/0xFacet/zk-fault-proofs/tree/facet/programs/range",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [zk-fault-proofs](https://github.com/0xFacet/zk-fault-proofs) repo: `git checkout facet` . Commit hash should be `ad0ef0488e714212cb420ae04c9b242d9ef26f24`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo run --bin config --release` to build the SP1 programs and generate and print verification key hashes.\n ",
"hash": "0x43f01f7522e77ddc0bea30de6cb8075608a0d0c906660e4f5f430a1e5e170829"
}
],
"risks": []
"risks": [],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "AggchainECDSAMultisig",
"isVerified": true,
"address": "eth:0x2f3d687e02dbe83B6cDaE02aeb66C0e8E69CcA4b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756733255,
"transactionHash": "0xf9461b9a1119187637520c5034603d8386799d01e97e5751e9bdbe46b4303c09",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
}
],
"description": "System contract defining the forknet Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).\n* Roles:\n * **admin**: EOA 2\n * **aggchainSigners**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2f3d687e02dbe83B6cDaE02aeb66C0e8E69CcA4b#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5D2952EAe032aa33e977c52f810e0089261efB27",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756893611,
"transactionHash": "0x53d6644e17ea2b137c56349e0309465a9fb974aa17a056e14acd46527b864ba9",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5D2952EAe032aa33e977c52f810e0089261efB27#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xAa47071585ee92Fa9AE314C87d3d12a25c241EeD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756893611,
"transactionHash": "0x53d6644e17ea2b137c56349e0309465a9fb974aa17a056e14acd46527b864ba9",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAa47071585ee92Fa9AE314C87d3d12a25c241EeD#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xD7cF5ce4688663e057E99D9f880599Ce88757695",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756893611,
"transactionHash": "0x53d6644e17ea2b137c56349e0309465a9fb974aa17a056e14acd46527b864ba9",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1756903199,
"transactionHash": "0xc33c7857ae90704d7d21f1670457a6889b8d3ac1b4f02e23f9f156a8ec3a51f9",
"implementations": [
"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific contract is deployed in the agglayer system context which **disables the depositTransaction() function**, preventing users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7cF5ce4688663e057E99D9f880599Ce88757695#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 4, EOA 5\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x6C82EEE75Bb8b957C12FaaF8CAb549BE4b0fD5af",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6C82EEE75Bb8b957C12FaaF8CAb549BE4b0fD5af#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xB847cf7F5CE23cBaF76E751C066bfE732951501f",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756893611,
"transactionHash": "0x53d6644e17ea2b137c56349e0309465a9fb974aa17a056e14acd46527b864ba9",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB847cf7F5CE23cBaF76E751C066bfE732951501f#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xd1cFFdEF1dc379372CB06f3dEdC6debeF6059E82",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756893611,
"transactionHash": "0x53d6644e17ea2b137c56349e0309465a9fb974aa17a056e14acd46527b864ba9",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd1cFFdEF1dc379372CB06f3dEdC6debeF6059E82#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x04B540f9e071a83555aB12d0CCcA812E272dcAf1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x04B540f9e071a83555aB12d0CCcA812E272dcAf1#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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x514795090ceA49c14f65b45c4403A36b3576AE03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756893611,
"transactionHash": "0x53d6644e17ea2b137c56349e0309465a9fb974aa17a056e14acd46527b864ba9",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x514795090ceA49c14f65b45c4403A36b3576AE03#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x88d414cA1d500E5CDf131022e4A27D281e8Dba44",
"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/0x88d414cA1d500E5CDf131022e4A27D281e8Dba44#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEfBb0af25B3bE24347f17916fda058795f36a5A0#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xf9E57a0B702dF449295DEc146eC2bc80339FAAED",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEfBb0af25B3bE24347f17916fda058795f36a5A0"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924487,
"transactionHash": "0xdafb601ff7f28a914b21897e0fe0db50cf79e1e4376b62b8e503240368155c12",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf9E57a0B702dF449295DEc146eC2bc80339FAAED#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1756893611,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "340282366920938463463374607431768211455"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"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"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x4ccAAF69F41c5810cA875183648B577CaCf1F67E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0x19652082F846171168Daf378C4fD3ee85a0D4A60"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0x98a1394d245ae67d5e659cfae5dfefd856be19e29579b7402d10c326a050ff2d",
"implementations": [
"eth:0x19652082F846171168Daf378C4fD3ee85a0D4A60"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4ccAAF69F41c5810cA875183648B577CaCf1F67E#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x4E259Ee5F4136408908160dD32295A5031Fa426F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0xbdD90485FCbcac869D5b5752179815a3103d8131"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0x4587441e64354e526397a3d70bd0ccfc64f6c9f97346e94c9abf68927ed2d9ab",
"implementations": [
"eth:0xbdD90485FCbcac869D5b5752179815a3103d8131"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3\n * **guardian**: Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4E259Ee5F4136408908160dD32295A5031Fa426F#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x806d48562C224a1332F2De8CCb02DDe8E8a5549E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0x67866A5052E5302aaD08e9f352331fd8622eB6DC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0xf4df423457e8bfa63edfe2e8cab99369a586c2154c66678da4b4a24ca77228af",
"implementations": [
"eth:0x67866A5052E5302aaD08e9f352331fd8622eB6DC"
]
}
],
"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 Caldera Multisig 3\n * **batcherHash**: EOA 3\n * **owner**: Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x806d48562C224a1332F2De8CCb02DDe8E8a5549E#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x7280d2BFd18aa1383C2218E6Bb2964bA8287c66e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0x068E44eB31e111028c41598E4535be7468674D0A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421155,
"transactionHash": "0x6d78dfafeefe92e97e6584247094c82027638d1003763afea02fd8e0891c1f27",
"implementations": [
"eth:0x068E44eB31e111028c41598E4535be7468674D0A"
]
}
],
"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 Caldera Multisig 3\n * **guardian**: Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7280d2BFd18aa1383C2218E6Bb2964bA8287c66e#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x6161C14A37Bc428401A011E5941330cD169a0255",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0x5C4F5e749A61a9503c4AAE8a9393e89609a0e804"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0xb13d629249d343196003c0978f64c47773ccd300b83099093e1a9d65203fa026",
"implementations": [
"eth:0x5C4F5e749A61a9503c4AAE8a9393e89609a0e804"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6161C14A37Bc428401A011E5941330cD169a0255#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xdc20aA63D3DE59574E065957190D8f24e0F7B8Ba",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0xb7900B27Be8f0E0fF65d1C3A4671e1220437dd2b"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdc20aA63D3DE59574E065957190D8f24e0F7B8Ba#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xF333158DCCad1dF6C3F0a3aEe8BC31fA94d9eD5c",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0x094e6508ba9d9bf1ce421fff3dE06aE56e67901b"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0x5b4d1104a1e3b3fb2090a312524490777140559a60119e724e5496e1011f4f7d",
"implementations": [
"eth:0x094e6508ba9d9bf1ce421fff3dE06aE56e67901b"
]
}
],
"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 Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF333158DCCad1dF6C3F0a3aEe8BC31fA94d9eD5c#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x65f0819c647E06C3191a8b2dd59031259746FB4F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0x39Aea2Dd53f2d01c15877aCc2791af6BDD7aD567"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0x7a494fe650e0aa8dc60f35bcb9ea88790a4a43c955e9c116fd992a112e3fe75a",
"implementations": [
"eth:0x39Aea2Dd53f2d01c15877aCc2791af6BDD7aD567"
]
}
],
"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 Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x65f0819c647E06C3191a8b2dd59031259746FB4F#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Caldera Multisig 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8#code"
}
]
},
"escrows": [
{
"address": "0x4E259Ee5F4136408908160dD32295A5031Fa426F",
"sinceTimestamp": 1733421155,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x4E259Ee5F4136408908160dD32295A5031Fa426F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0xbdD90485FCbcac869D5b5752179815a3103d8131"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733421167,
"transactionHash": "0x4587441e64354e526397a3d70bd0ccfc64f6c9f97346e94c9abf68927ed2d9ab",
"implementations": [
"eth:0xbdD90485FCbcac869D5b5752179815a3103d8131"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x4E259Ee5F4136408908160dD32295A5031Fa426F#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xdc20aA63D3DE59574E065957190D8f24e0F7B8Ba",
"sinceTimestamp": 1733421155,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xdc20aA63D3DE59574E065957190D8f24e0F7B8Ba",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb7e0a0507cAfD755B3527Aa1F8b7449222A79Cf8"
],
"implementations": [
"eth:0xb7900B27Be8f0E0fF65d1C3A4671e1220437dd2b"
]
},
"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/0xdc20aA63D3DE59574E065957190D8f24e0F7B8Ba#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x34a9f273cbD847d49c3De015FC26c3E66825f8b2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0xbF9d1CDF02720b50254e0ca70f01ffE4C9d82bae"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811611,
"transactionHash": "0xe7aacfcc1d50443042842246a38e54581e9dba154a9831660415e0fce5503e4d",
"implementations": [
"eth:0x22052c592f763CA14a090D9974c5Bf9Fd3a44b8c"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x4D7A1a16d0DA89B50FBd8b524508FC393A6Dc367"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x87520f4104878c7dcda3E9296B572A5fe034E129"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0xB58D3b8F88AC9234dc2329D0fb1197B0c381446D"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0xbF9d1CDF02720b50254e0ca70f01ffE4C9d82bae"
]
}
],
"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 Fraxtal Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34a9f273cbD847d49c3De015FC26c3E66825f8b2#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0xDe882c2CBd6e790a35Cc63BA25eCA7b7DDd234B2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811623,
"transactionHash": "0xe7e33bcdd2dd085bcd43e933aefa52eeffb6a4656facdfae956eba8bfe2f537b",
"implementations": [
"eth:0x59B6903044Fa9439a5D621D3605789A6E654b1D6"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x47Ec03B67ba4f3C71a4320D2947f2173E0B45a23"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x87520f4104878c7dcda3E9296B572A5fe034E129"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x553D60F9D5912e2ba9C3133550BC8eA551Fb0c0f"
]
},
{
"timestamp": 1748896139,
"transactionHash": "0xdca2297bd52b872499233c5e6605707a70a21ebd0d617b3f565c084fc4a775b6",
"implementations": [
"eth:0xcA11bde05977b3631167028862bE2a173976CA11"
]
},
{
"timestamp": 1748896139,
"transactionHash": "0xdca2297bd52b872499233c5e6605707a70a21ebd0d617b3f565c084fc4a775b6",
"implementations": [
"eth:0x553D60F9D5912e2ba9C3133550BC8eA551Fb0c0f"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0xd30B971922D42AA46C8A6432C332547432C89E14"
]
},
{
"timestamp": 1758568055,
"transactionHash": "0xf2882d571b3a770d737ce0b81adb738b116e94a1d16f19a9cc837fdc20b25f05",
"implementations": [
"eth:0xDe882c2CBd6e790a35Cc63BA25eCA7b7DDd234B2"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Fraxtal Multisig 1\n * **frax_comptroller**: Fraxtal Multisig 2\n * **guardian**: Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x66CC916Ed5C6C2FA97014f7D1cD141528Ae171e4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0x6f3CcC8C9DAf8B9b39aDe481213Ff7A626a42B65"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811623,
"transactionHash": "0xda02c330c54f6dc923beb0d9f720a4caaae75238f52d24902d56624b0410a65b",
"implementations": [
"eth:0xA30ADd78D5be6B2B55C934666bb4fF2C4429d800"
]
},
{
"timestamp": 1706917451,
"transactionHash": "0x3b6b6b8395ca0242ffaf46aba40335b8dce65cab470d7a188a3afe13723ee3db",
"implementations": [
"eth:0x84c2f365733c6560bd49D8768d9c23B07A9DD630"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x6f3CcC8C9DAf8B9b39aDe481213Ff7A626a42B65"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Fraxtal Multisig 1\n * **challenger**: Fraxtal Multisig 1\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x66CC916Ed5C6C2FA97014f7D1cD141528Ae171e4#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x61ca43CB037aC9181d8Fa5CD0073dC314065Ccc4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0x0d9C39c64CF8eDA1EdFeBD78AFa895bAA797eFc4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811599,
"transactionHash": "0x4f8242b2a2b3b4bfda92b93111cb848902636f44a632d232cdd39509074009fa",
"implementations": [
"eth:0x0d9C39c64CF8eDA1EdFeBD78AFa895bAA797eFc4"
]
},
{
"timestamp": 1706917451,
"transactionHash": "0xedefc1fc192d3c59892b11660cf6dc47d120a7e895adc2cd4dba0d97efec9644",
"implementations": [
"eth:0xb851fc304fCa88EDC89C287687AF4F6d7810bc14"
]
},
{
"timestamp": 1706917451,
"transactionHash": "0xedefc1fc192d3c59892b11660cf6dc47d120a7e895adc2cd4dba0d97efec9644",
"implementations": [
"eth:0x0d9C39c64CF8eDA1EdFeBD78AFa895bAA797eFc4"
]
}
],
"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 Fraxtal Multisig 1\n * **guardian**: Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x61ca43CB037aC9181d8Fa5CD0073dC314065Ccc4#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x126bcc31Bc076B3d515f60FBC81FddE0B0d542Ed",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0x597959A313643Ed15d45dfbCC422321E72A84515"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811611,
"transactionHash": "0xc7e0611b207fc226dc0412ebae0cd464b62b341c49a10a83315d916cdf527753",
"implementations": [
"eth:0x31c25985E6b10CF335FC01cf9790aF4890d0505c"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0xC6e4ECE5576dC96846bb11eD8910f3dF3CE516b8"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x87520f4104878c7dcda3E9296B572A5fe034E129"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0xC08f08571Ea50EDaA1F71Fd6d72a68d164B0C618"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x597959A313643Ed15d45dfbCC422321E72A84515"
]
}
],
"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 Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x126bcc31Bc076B3d515f60FBC81FddE0B0d542Ed#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0xe89Fbfb78920423AC9e7F06Acb2163ce55baB89f"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xa9B5Fb84B7aeAF0D51C95DB04a76B1D4738D0eC5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0x7B07f9FE593Ab0b035B2dce1e925A77F57B3b878"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811611,
"transactionHash": "0x16fa9302027443ca036c06c75668cfa2bbe1d3466d67e3cf566c8227ae489bf9",
"implementations": [
"eth:0x23A0478996241F9f966b7054c06FdeB96Ddf3475"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7eE1637C33Ed0DFEE6403f3301B6d404106018e4"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x87520f4104878c7dcda3E9296B572A5fe034E129"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x7eecF36F384732F229D494E072a48fF294861fC2"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x7B07f9FE593Ab0b035B2dce1e925A77F57B3b878"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa9B5Fb84B7aeAF0D51C95DB04a76B1D4738D0eC5#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x11FE3be54aC01C13Dd985cE2BdD10eD77e1376cc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0x72D205182538207478dA7baFf0181884993D279A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811611,
"transactionHash": "0x71e0cfe8fa79e241d5e216cd9956ad54c2952516293aec0b47b9a96d8ee2b061",
"implementations": [
"eth:0x1120ef11d4C3dc90Aa6BDfce16Ab049dd5d18aE0"
]
},
{
"timestamp": 1708361555,
"transactionHash": "0x105f432213e819e064f46a07b935289add9f1139c9c91db7fd45d0f6fe213b1f",
"implementations": [
"eth:0x6cA98f43719231d38F6426DB64C7F3D5C7CE7876"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x87520f4104878c7dcda3E9296B572A5fe034E129"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x72D205182538207478dA7baFf0181884993D279A"
]
}
],
"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 Fraxtal Multisig 1",
"upgradableBy": [
{
"name": "Fraxtal Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11FE3be54aC01C13Dd985cE2BdD10eD77e1376cc#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Fraxtal Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA#code"
},
{
"name": "Frax (prev. FXS) Token",
"isVerified": true,
"address": "eth:0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0#code"
},
{
"name": "EtherRouter",
"isVerified": true,
"address": "eth:0x5acAf61d339dd123e60ba450Ea38fbC49445007C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ETH deposited by users via the FraxEtherMinter is forwarded to this contract and then routed further to either lending pools or AMOs.\n* Roles:\n * **operatorAddress**: Frax Multisig \n * **timelockAddress**: Frax Multisig ",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5acAf61d339dd123e60ba450Ea38fbC49445007C#code"
},
{
"name": "Frax Ether Token",
"isVerified": true,
"address": "eth:0x5E8422345238F34275888049021821E8E08CAa1f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "frxETH token contract. Fraxtal uses Frax Ether as the designated gas token, allowing users to pay for blockspace with frxETH.\n* Roles:\n * **minters_array**: frxETH Minter\n * **timelock_address**: FrxEthTimelock; ultimately Fraxtal Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5E8422345238F34275888049021821E8E08CAa1f#code"
},
{
"name": "FrxEthTimelock",
"isVerified": true,
"address": "eth:0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows for time-delayed execution of transactions. Current delay is 2d.\n* Roles:\n * **admin**: Fraxtal Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA#code"
},
{
"name": "Staked Frax Ether Token",
"isVerified": true,
"address": "eth:0xac3E018457B222d93114458476f3E3416Abbe38F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Vault token contract (ERC-4626) for staked frxETH. The smart contract receives frxETH tokens and mints sfrxETH tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xac3E018457B222d93114458476f3E3416Abbe38F#code"
}
]
},
"escrows": [
{
"address": "0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D",
"sinceTimestamp": 1706811599,
"tokens": [
"ETH",
"frxETH",
"FRAX"
],
"contract": {
"isVerified": true,
"address": "eth:0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0xDe882c2CBd6e790a35Cc63BA25eCA7b7DDd234B2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706811623,
"transactionHash": "0xe7e33bcdd2dd085bcd43e933aefa52eeffb6a4656facdfae956eba8bfe2f537b",
"implementations": [
"eth:0x59B6903044Fa9439a5D621D3605789A6E654b1D6"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1715717627,
"transactionHash": "0x25f146ab6043f07c95e3b314e0200d2b5a8a0cb590cbcd9f094f753efef7d669",
"implementations": [
"eth:0x47Ec03B67ba4f3C71a4320D2947f2173E0B45a23"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x87520f4104878c7dcda3E9296B572A5fe034E129"
]
},
{
"timestamp": 1745953559,
"transactionHash": "0xf1f2d8c52f1e2303dad74c3c2ee9c72ac4935bc5efbedc95ab52036e80133d1e",
"implementations": [
"eth:0x553D60F9D5912e2ba9C3133550BC8eA551Fb0c0f"
]
},
{
"timestamp": 1748896139,
"transactionHash": "0xdca2297bd52b872499233c5e6605707a70a21ebd0d617b3f565c084fc4a775b6",
"implementations": [
"eth:0xcA11bde05977b3631167028862bE2a173976CA11"
]
},
{
"timestamp": 1748896139,
"transactionHash": "0xdca2297bd52b872499233c5e6605707a70a21ebd0d617b3f565c084fc4a775b6",
"implementations": [
"eth:0x553D60F9D5912e2ba9C3133550BC8eA551Fb0c0f"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"
]
},
{
"timestamp": 1755544619,
"transactionHash": "0xcef51688ce9d56f2d4d2fe47ac74dcb8e75abb9ee886cc1416c4293f68dbfcb4",
"implementations": [
"eth:0xd30B971922D42AA46C8A6432C332547432C89E14"
]
},
{
"timestamp": 1758568055,
"transactionHash": "0xf2882d571b3a770d737ce0b81adb738b116e94a1d16f19a9cc837fdc20b25f05",
"implementations": [
"eth:0xDe882c2CBd6e790a35Cc63BA25eCA7b7DDd234B2"
]
}
],
"description": "Main entry point for users depositing ETH, frxETH, FRAX.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2",
"sinceTimestamp": 1706811599,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"
],
"implementations": [
"eth:0xe89Fbfb78920423AC9e7F06Acb2163ce55baB89f"
]
},
"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/0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213063,
"transactionHash": "0x2e1c7cec7b5d66a48b5bd7fc2339da0b7c87bbee53a474e7232bd662cbfec6fe",
"implementations": [
"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"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 Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763433575,
"transactionHash": "0x261918d58c7f37e601b07afeafd6da19718d83002b9caca5abeb55a4f4928a36",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
}
],
"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 Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc371fD8C4AB7F585BDCA7aA19c2A680a70920c98#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xD39a6CcCFa23cb741bB530497e42EC337f1215a8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213075,
"transactionHash": "0xc7313637d7c43261e14d2b0c299d02089f5488943b39559e605d4eacb4ffbfbc",
"implementations": [
"eth:0xaE0CdC4960335A99D833d0c7Ae99b3ae0fa3c20C"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"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 Funki Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Funki Multisig 2",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD39a6CcCFa23cb741bB530497e42EC337f1215a8#code"
},
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x951d813B1C700964a725C87F77c53aa696847F59"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721212763,
"transactionHash": "0x4cd38097011a0f746ef8ebfd721bac90e90283cdb9a7c7488f0daf7d0994d6d3",
"implementations": [
"eth:0x951d813B1C700964a725C87F77c53aa696847F59"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF40b807c2407e1d7dabb85f3ceefd5EACc7bF3CD#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x8F56a665c376A08b604DD32ee6E88667A6093172",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213159,
"transactionHash": "0xaba099e1fe516cc6e3e9cc69789b83b3fbabd940f2a900114f0c409de015bd99",
"implementations": [
"eth:0x96f41d8f175F7907Afa78C565f564C9114C9Bd20"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
}
],
"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 Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8F56a665c376A08b604DD32ee6E88667A6093172#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213111,
"transactionHash": "0xdf2f60d83b4a721433a7d8207b9d8d058807f63754d289e78fd71b3339727c33",
"implementations": [
"eth:0x5E739e53106a0d1516196aa9E8EE402CaCC7B768"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x94519dD4BA8ba20Aaad14f7C6cD00fa1bB0192E9#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"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/0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x695F652b03470F396789cF007278F922e1726B94",
"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* Roles:\n * **challenger**: EOA 3\n * **proposer**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x695F652b03470F396789cF007278F922e1726B94#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213123,
"transactionHash": "0x539ee390b917a31ea3fa1ffde5cee5823cf6c3591c081d1cb75896eff3e7ec4d",
"implementations": [
"eth:0x459FdC15D88f9bD6AD7B547ef7F4542330a0BBce"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
}
],
"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 Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x87e75DcC1BB4e5B42cB5c52eB5832d6eCC3bFeF4#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x97E417DC6f93adBe742733095C16FFE91B9d7530",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763433599,
"transactionHash": "0x33a38fad2ed9f186ce509b95fca5e0f94c454bf628794f447fa66820cb1dea0d",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
}
],
"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 Funki Multisig 1\n * **owner**: Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97E417DC6f93adBe742733095C16FFE91B9d7530#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"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/0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Funki Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD069C4724f9bC15FA53b3b2516594512AEf8c957#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763433587,
"transactionHash": "0x2225d6018a0be125bded604db70b5f18f323ff018fba3933b756c1678981a980",
"implementations": [
"eth:0xf6746e055414a3FcA38F0e8e9dD3926A9A518719"
]
}
],
"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 Funki Multisig 1",
"upgradableBy": [
{
"name": "Funki Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd8BF71F492B9dBE2B97EB05098288e98bd41D3a3#code"
}
]
},
"escrows": [
{
"address": "0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22",
"sinceTimestamp": 1721212775,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721213063,
"transactionHash": "0x2e1c7cec7b5d66a48b5bd7fc2339da0b7c87bbee53a474e7232bd662cbfec6fe",
"implementations": [
"eth:0x90b82d6EFBA56Dcc0f1B55B8d50952c2eB9640e0"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1764125519,
"transactionHash": "0xb5d4847ed89e5395e3b7cf0cca775ccbe084de9d7cf2b9d2901f8c318fde5bfd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5C9C7f98eD153a2deAA981eB5C97B31744AccF22#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC",
"sinceTimestamp": 1721212799,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD069C4724f9bC15FA53b3b2516594512AEf8c957"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"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/0xA2C1C1A473250094a6244F2bcf6Cb51F670Ad3aC#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Cyber",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"verificationStatus": "unsuccessful",
"hash": "0x03c7ae758795765c6664a5d39bf63841c71ff191e9189522bad8ebff5d4eca98"
}
],
"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": []
}
+1 -677
+0 -382
{
"arbitrum": {
"roles": [],
"actors": [
{
"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": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * ArbitrumBlobstream \n* Can interact with ArbitrumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997",
"type": "Contract",
"isVerified": true,
"name": "0x738a…7997",
"url": "https://arbiscan.io/address/0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://arbiscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "arb1:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://arbiscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
},
{
"address": "arb1:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://arbiscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "arb1:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://arbiscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "arb1:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://arbiscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "arb1:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://arbiscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-11-and-EOA-12",
"name": "EOA 11 and EOA 12",
"accounts": [
{
"address": "arb1:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://arbiscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "arb1:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://arbiscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "arbitrum",
"description": "* Can interact with ArbitrumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * BaseBlobstream \n* Can interact with BaseBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6",
"type": "Contract",
"isVerified": true,
"name": "0x6ABa…1Ca6",
"url": "https://basescan.org/address/0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://basescan.org/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "base:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://basescan.org/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "base:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://basescan.org/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "base:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://basescan.org/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "base:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://basescan.org/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "base:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://basescan.org/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-13-and-EOA-14",
"name": "EOA 13 and EOA 14",
"accounts": [
{
"address": "base:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://basescan.org/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "base:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://basescan.org/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "base",
"description": "* Can interact with BaseBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "eth:0x17F187D978664C96ffD655996a45e085c403AD8b",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0x2E8C0869C173cC07c58186E9DeEA74314635b1E2",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0x4ed0f98FB4c331e672653E832c55E0f9F402C228",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0x74a0d46BA4F69cAB77A459f8B12dc531c7DaBf3C",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0x85e70D857F6Fad7AD4ffc3fC95FD0fd8C396A09D",
"type": "EOA",
"isVerified": true,
"name": "EOA 6",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0xA4f98Ac0E083C79BAB53A3895082e8a4fbf12CDe",
"type": "EOA",
"isVerified": true,
"name": "EOA 7",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0xb9B2AeAe8D160a5bF9cb7FE7B2c8B58c0293FD5e",
"type": "EOA",
"isVerified": true,
"name": "EOA 8",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0xc7ef93FE91D4658bb422B11C5f8Ae17ae3B86D36",
"type": "EOA",
"isVerified": true,
"name": "EOA 9",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
},
{
"address": "eth:0xCEEAEC6b7e010fE1Ac253Ebd6f93eEBF9249Cd7e",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "eth:0x16C1D3b4aDB6f0F468FCE7b802cE5AA0A2B06d03",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/13 threshold. \n* Can upgrade **with no delay**\n * EdgeChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability and DACs, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07",
"type": "EOA",
"isVerified": true,
"name": "0x3816…Cf07",
"url": "https://etherscan.io/address/0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007",
"type": "EOA",
"isVerified": true,
"name": "0x65D1…6007",
"url": "https://etherscan.io/address/0x65D1d44B8B2fE15d45A03708E0835C7E98a56007"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4",
"type": "EOA",
"isVerified": true,
"name": "0xa400…e6e4",
"url": "https://etherscan.io/address/0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4"
},
{
"address": "eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f",
"type": "EOA",
"isVerified": true,
"name": "0x3840…Fd5f",
"url": "https://etherscan.io/address/0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"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": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * EthereumBlobstream \n* Can interact with EthereumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6",
"type": "Contract",
"isVerified": true,
"name": "0x8bF3…18E6",
"url": "https://etherscan.io/address/0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://etherscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "eth:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://etherscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "eth:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://etherscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "eth:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://etherscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "eth:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://etherscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x16C1D3b4aDB6f0F468FCE7b802cE5AA0A2B06d03",
"type": "EOA",
"isVerified": true,
"name": "0x16C1…6d03",
"url": "https://etherscan.io/address/0x16C1D3b4aDB6f0F468FCE7b802cE5AA0A2B06d03"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-3,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10",
"name": "EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9 and EOA 10",
"accounts": [
{
"address": "eth:0x17F187D978664C96ffD655996a45e085c403AD8b",
"type": "EOA",
"isVerified": true,
"name": "0x17F1…AD8b",
"url": "https://etherscan.io/address/0x17F187D978664C96ffD655996a45e085c403AD8b"
},
{
"address": "eth:0x2E8C0869C173cC07c58186E9DeEA74314635b1E2",
"type": "EOA",
"isVerified": true,
"name": "0x2E8C…b1E2",
"url": "https://etherscan.io/address/0x2E8C0869C173cC07c58186E9DeEA74314635b1E2"
},
{
"address": "eth:0x4ed0f98FB4c331e672653E832c55E0f9F402C228",
"type": "EOA",
"isVerified": true,
"name": "0x4ed0…C228",
"url": "https://etherscan.io/address/0x4ed0f98FB4c331e672653E832c55E0f9F402C228"
},
{
"address": "eth:0x74a0d46BA4F69cAB77A459f8B12dc531c7DaBf3C",
"type": "EOA",
"isVerified": true,
"name": "0x74a0…Bf3C",
"url": "https://etherscan.io/address/0x74a0d46BA4F69cAB77A459f8B12dc531c7DaBf3C"
},
{
"address": "eth:0x85e70D857F6Fad7AD4ffc3fC95FD0fd8C396A09D",
"type": "EOA",
"isVerified": true,
"name": "0x85e7…A09D",
"url": "https://etherscan.io/address/0x85e70D857F6Fad7AD4ffc3fC95FD0fd8C396A09D"
},
{
"address": "eth:0xA4f98Ac0E083C79BAB53A3895082e8a4fbf12CDe",
"type": "EOA",
"isVerified": true,
"name": "0xA4f9…2CDe",
"url": "https://etherscan.io/address/0xA4f98Ac0E083C79BAB53A3895082e8a4fbf12CDe"
},
{
"address": "eth:0xb9B2AeAe8D160a5bF9cb7FE7B2c8B58c0293FD5e",
"type": "EOA",
"isVerified": true,
"name": "0xb9B2…FD5e",
"url": "https://etherscan.io/address/0xb9B2AeAe8D160a5bF9cb7FE7B2c8B58c0293FD5e"
},
{
"address": "eth:0xc7ef93FE91D4658bb422B11C5f8Ae17ae3B86D36",
"type": "EOA",
"isVerified": true,
"name": "0xc7ef…6D36",
"url": "https://etherscan.io/address/0xc7ef93FE91D4658bb422B11C5f8Ae17ae3B86D36"
},
{
"address": "eth:0xCEEAEC6b7e010fE1Ac253Ebd6f93eEBF9249Cd7e",
"type": "EOA",
"isVerified": true,
"name": "0xCEEA…Cd7e",
"url": "https://etherscan.io/address/0xCEEAEC6b7e010fE1Ac253Ebd6f93eEBF9249Cd7e"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-15-and-EOA-16",
"name": "EOA 15 and EOA 16",
"accounts": [
{
"address": "eth:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://etherscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "eth:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://etherscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "ethereum",
"description": "* Can interact with EthereumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
}
}
+0 -294
{
"addresses": {
"ethereum": [
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x0B7F24F67a889211eb266f1D413Fe0fD96532D83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0B7F24F67a889211eb266f1D413Fe0fD96532D83#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x2807B1d5d94ca823ca7d8642A5F5DDac120ce48f",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xa5D23c69894241825dAffB570c3c742C0F52df96"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2807B1d5d94ca823ca7d8642A5F5DDac120ce48f#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x7983403dDA368AA7d67145a9b81c5c517F364c42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7983403dDA368AA7d67145a9b81c5c517F364c42#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x8D99372612e8cFE7163B1a453831Bc40eAeb3cF3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1745880563,
"transactionHash": "0x89bb6d5ad4aee106eb3057f96b1c3dc685bc40dc798d267f429c486b114fbd25",
"implementations": [
"eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 10, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8D99372612e8cFE7163B1a453831Bc40eAeb3cF3#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xa5D23c69894241825dAffB570c3c742C0F52df96",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa5D23c69894241825dAffB570c3c742C0F52df96#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x1153a1e4B1523DFf36f77d696bd6eBF2B0e7DAbF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1153a1e4B1523DFf36f77d696bd6eBF2B0e7DAbF#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x7AD2a94BefF3294a31894cFb5ba4206957a53c19",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1745880563,
"transactionHash": "0x89bb6d5ad4aee106eb3057f96b1c3dc685bc40dc798d267f429c486b114fbd25",
"implementations": [
"eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7AD2a94BefF3294a31894cFb5ba4206957a53c19#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xa24eDA32bb36171a6c34CBB4B56f89FF7B8fD49A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa24eDA32bb36171a6c34CBB4B56f89FF7B8fD49A#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBbc3872E30C91ef69336937838c2a283F79f7E68#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#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": "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": "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": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 15, EOA 16",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 11, EOA 12",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 13, EOA 14",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
]
},
"escrows": [
{
"address": "0x7983403dDA368AA7d67145a9b81c5c517F364c42",
"sinceTimestamp": 1716053843,
"tokens": [
"G"
],
"contract": {
"isVerified": true,
"address": "eth:0x7983403dDA368AA7d67145a9b81c5c517F364c42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows G sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7983403dDA368AA7d67145a9b81c5c517F364c42#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+1 -1
{
"baseTimestamp": 1771497368,
"baseTimestamp": 1770823993,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x53C64d7c9a28911203Ba4BE2a6cA58254184920a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x8a9f35a100B11B71b79969c0527e1d3Cec8A24d5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656995,
"transactionHash": "0xfd3b94d8a707f365392a9572ca65e54a5135cfffd6ec3d85e94a34c88de31c8d",
"implementations": [
"eth:0x8a9f35a100B11B71b79969c0527e1d3Cec8A24d5"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GmMultisig\n * **challenger**: EOA 2\n * **proposer**: EOA 3",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53C64d7c9a28911203Ba4BE2a6cA58254184920a#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x8C467dAC40f01DFA83666F39108992a0635faeD9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x0351c7341AAe6A69487eb007AA37159BD6878285"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656875,
"transactionHash": "0x21a9e5f9c232c55bab641373af854318b6833df515280430e2459b3347399acf",
"implementations": [
"eth:0x0351c7341AAe6A69487eb007AA37159BD6878285"
]
}
],
"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 GmMultisig\n * **batcherHash**: EOA 5\n * **owner**: EOA 4",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8C467dAC40f01DFA83666F39108992a0635faeD9#code"
},
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0xd1fe2EEb5637b0F78BfcEd9186ebE716aC73DEb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0xcEEF52d78DD47b80Cf7d4f19bef646b644A43162"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656575,
"transactionHash": "0xe079af9e9a1acf6d84cfd36b104996ec823489cebfade08ad692a6300e89e086",
"implementations": [
"eth:0xcEEF52d78DD47b80Cf7d4f19bef646b644A43162"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GmMultisig\n * **owner**: EOA 4",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd1fe2EEb5637b0F78BfcEd9186ebE716aC73DEb6#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xd2726bde3D07645faf5aD7cCF15C94817B3556D6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x03783fe183B68De1Ae3673Cb098039F58Ca49BaF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717657043,
"transactionHash": "0x45c356b89609b4a8ad1b7b92c1c471469462b6f7526c86c4045f27aabff52f7c",
"implementations": [
"eth:0x03783fe183B68De1Ae3673Cb098039F58Ca49BaF"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GmMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd2726bde3D07645faf5aD7cCF15C94817B3556D6#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xB83831efA1Cc1bFF0c29ed0d8df1943F834442A0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x04b259e2a4D3D0B961A3b099861AaEeA6BF39e6D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656503,
"transactionHash": "0xcea67233a730500ea1686e9c50d7de133cd827947e9668b49c47ca43e272685b",
"implementations": [
"eth:0x04b259e2a4D3D0B961A3b099861AaEeA6BF39e6D"
]
}
],
"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 GmMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB83831efA1Cc1bFF0c29ed0d8df1943F834442A0#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2321F7982Af3cBbA1Ab9D426ae7fe595E1CF427C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x7f65D6C6CBd3cd796B969583Bb66B6b40f1eA6f3"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GmMultisig",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2321F7982Af3cBbA1Ab9D426ae7fe595E1CF427C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x6345b54426A5B80A377d07C97672331Bda3432e6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0xdF9164F7e66704f5B01a31ace233767946e82F76"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656911,
"transactionHash": "0x35652b1587d28a9262399617d535fc12f710c5416308f7375f5229c56f36e092",
"implementations": [
"eth:0xdF9164F7e66704f5B01a31ace233767946e82F76"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GmMultisig",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6345b54426A5B80A377d07C97672331Bda3432e6#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xea6390d969aacd4BA217F6b4614dDAE4bdDb1B3B",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0xa537c425181C252eD396592BD2f0Cafbebb6D163"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656959,
"transactionHash": "0x377eb8f5dba664c56979cd9ba8f45660f2521c0e56485841e9541b3d22ef9b37",
"implementations": [
"eth:0xa537c425181C252eD396592BD2f0Cafbebb6D163"
]
}
],
"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 GmMultisig",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xea6390d969aacd4BA217F6b4614dDAE4bdDb1B3B#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: GmMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x081A54442Af40a26Ae453Da0F044a49Aa3314453#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x34B4AcC9e4523Cc6bbfC367B9034121c447b4083",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x8d25eE2a806642f7272bad8e5e18CBd79eE5BdcE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717656923,
"transactionHash": "0xed44549cff9a81545108b09446df275e56d2caf8ed2269a5f61eed2b019aac63",
"implementations": [
"eth:0x8d25eE2a806642f7272bad8e5e18CBd79eE5BdcE"
]
}
],
"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 GmMultisig",
"upgradableBy": [
{
"name": "GmMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34B4AcC9e4523Cc6bbfC367B9034121c447b4083#code"
}
]
},
"escrows": [
{
"address": "0xd2726bde3D07645faf5aD7cCF15C94817B3556D6",
"sinceTimestamp": 1717656599,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd2726bde3D07645faf5aD7cCF15C94817B3556D6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x03783fe183B68De1Ae3673Cb098039F58Ca49BaF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717657043,
"transactionHash": "0x45c356b89609b4a8ad1b7b92c1c471469462b6f7526c86c4045f27aabff52f7c",
"implementations": [
"eth:0x03783fe183B68De1Ae3673Cb098039F58Ca49BaF"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xd2726bde3D07645faf5aD7cCF15C94817B3556D6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2321F7982Af3cBbA1Ab9D426ae7fe595E1CF427C",
"sinceTimestamp": 1717656623,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2321F7982Af3cBbA1Ab9D426ae7fe595E1CF427C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x081A54442Af40a26Ae453Da0F044a49Aa3314453"
],
"implementations": [
"eth:0x7f65D6C6CBd3cd796B969583Bb66B6b40f1eA6f3"
]
},
"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/0x2321F7982Af3cBbA1Ab9D426ae7fe595E1CF427C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0775e11309d75aA6b0967917fB0213C5673eDf81#code"
},
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0x75E26A2996DEAbA20386B6f3c1C957eFadb3f6E8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xada59D145126A746976F0F56477aafFEB3acc8e3"
],
"implementations": [
"eth:0xA36aFB6b79A3d164a3d12C141c916BECc6e012D8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718797871,
"transactionHash": "0x0a7c7231ed11b5452e24014b44c25286a58b4048cb401623b23a77ff1ee67fe7",
"implementations": [
"eth:0xA36aFB6b79A3d164a3d12C141c916BECc6e012D8"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 2/1).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75E26A2996DEAbA20386B6f3c1C957eFadb3f6E8#code"
},
{
"name": "Validium",
"isVerified": true,
"address": "eth:0xC4E903D3Af4c3d2e437492d602adcC9d9b536858",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716807971,
"transactionHash": "0x3dc530423d40c84109b6c3c014ee3182ae576375dc5888187e4a33380930d54a",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
}
],
"description": "The main system contract defining the gpt-mainnet Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: EOA 1\n * **forceBatchAddress**: EOA 1\n * **trustedSequencer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC4E903D3Af4c3d2e437492d602adcC9d9b536858#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 4, EOA 5\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xada59D145126A746976F0F56477aafFEB3acc8e3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xada59D145126A746976F0F56477aafFEB3acc8e3#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0xe3e310cd8EE0C808794810AB50FE4BcCC5c7D89E",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731379871,
"transactionHash": "0x0bbe1288b6184a2f0e7b1205c695f28f5dad249904447e05a841fbfbab1af41d",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1731379871,
"transactionHash": "0x0bbe1288b6184a2f0e7b1205c695f28f5dad249904447e05a841fbfbab1af41d",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1738042691,
"transactionHash": "0x733c89da487edb502dc65f5115ada9cef6b44128a85cf36adbde4821e13abe31",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742808587,
"transactionHash": "0xd442b78fb0d2ccccea791f60de88cc4d7214fff454429c552be59c8778cbb9f3",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1747639079,
"transactionHash": "0xf21daa11dac7aa6d48bcf8f8d76d8c43900db3022d183389a8e16858cabdd0cb",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1752209807,
"transactionHash": "0x50482c232f408d2e39fcaf30df79e587c0859e2f36e476b9d4deda048e3f1a45",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1766780987,
"transactionHash": "0x85dba00b8749a3bac358b1b3c0c62dc9b3eb7d00b5e0da81955fad460360395b",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: GrvtZkEvmAdmin; ultimately GrvtChainAdminMultisig\n * **getTransactionFilterer**: GRVTTransactionFilterer\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe3e310cd8EE0C808794810AB50FE4BcCC5c7D89E#code"
},
{
"name": "ValidiumL1DAValidator",
"isVerified": true,
"address": "eth:0x907b30407249949521Bf0c89A43558dae200146A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that 'verifies' the data availability for validiums. This implementation only checks the correct formatting and does not serve as a DA oracle. Can be used by ZK stack validiums as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x907b30407249949521Bf0c89A43558dae200146A#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "GrvtZkEvmAdmin",
"isVerified": true,
"address": "eth:0x6308ee1Ebdb8D5E60bB88D3EA3b56CE326193e7D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets GrvtChainAdminMultisig act through it.\n* Roles:\n * **owner**: GrvtChainAdminMultisig\n * **tokenMultiplierSetter**: GrvtChainAdminMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6308ee1Ebdb8D5E60bB88D3EA3b56CE326193e7D#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x4d335C5C08FEc91a39965351AbB6E315ad2e9ff3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d335C5C08FEc91a39965351AbB6E315ad2e9ff3#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD324a7c8556A059371B207fB96FD77bE24E2042c#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7"
]
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "base:0x38893659CF2b4b3E02B2dC93fe9A55Ea155a3daF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x19652082F846171168Daf378C4fD3ee85a0D4A60"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592193,
"transactionHash": "0x9ea11b31894d2bf3251c700994abead83796bb78614a070915888e78560c236b",
"implementations": [
"base:0x19652082F846171168Daf378C4fD3ee85a0D4A60"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HamMultisig1\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x38893659CF2b4b3E02B2dC93fe9A55Ea155a3daF#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "base:0xad22377De22537e4e6bd192AeBCa524a79B0d3Fd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0xffbA8944650e26653823658d76A122946F27e2f2"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592131,
"transactionHash": "0xededf667030eaa9c9643b9a63224c23f3333c9036627ab98e3ff5f4dd7f783ef",
"implementations": [
"base:0xffbA8944650e26653823658d76A122946F27e2f2"
]
}
],
"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 HamMultisig1\n * **batcherHash**: EOA 3\n * **owner**: Caldera Multisig 2",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xad22377De22537e4e6bd192AeBCa524a79B0d3Fd#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "base:0xdD83c537B35d98776913D7ab60EBaA5c28F9dD01",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592229,
"transactionHash": "0x7bbcb9291fc7aef835e6ee5cacd77d4eaf750607a99088fbe6b2094970957b7d",
"implementations": [
"base:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HamMultisig1\n * **guardian**: Caldera Multisig 2",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xdD83c537B35d98776913D7ab60EBaA5c28F9dD01#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "base:0xFC57b0947C079073A1C5Fe61887Eb3495972EE72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x068E44eB31e111028c41598E4535be7468674D0A"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592017,
"transactionHash": "0x487b2546b470edefdee57bb28326107fbdf391ff159befe30caf5f2896d87f3d",
"implementations": [
"base:0x068E44eB31e111028c41598E4535be7468674D0A"
]
}
],
"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 HamMultisig1\n * **guardian**: Caldera Multisig 2",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xFC57b0947C079073A1C5Fe61887Eb3495972EE72#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "base:0x3Ef6ce577FC438591d6C683E7a6Ea9e14A8f2d36",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x71fA82Ea96672797954C28032b337aA40AAFC99f"
],
"immutable": false
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592179,
"transactionHash": "0xb6d901dc78d5088d2ba10de8eedada81bb3db6500828850a9e6c4b113ca2374f",
"implementations": [
"base:0x71fA82Ea96672797954C28032b337aA40AAFC99f"
]
}
],
"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 HamMultisig1",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3Ef6ce577FC438591d6C683E7a6Ea9e14A8f2d36#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "base:0x80292D35789462aeD1D694899f1FaAE184Fe3E5b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x44637A4292E0CD2B17A55d5F6B2F05AFcAcD0586"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592151,
"transactionHash": "0x9441f48bb54bd085778dc94e29ad08d9e7074cff5462073c68e1498b4442f43a",
"implementations": [
"base:0x44637A4292E0CD2B17A55d5F6B2F05AFcAcD0586"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HamMultisig1",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x80292D35789462aeD1D694899f1FaAE184Fe3E5b#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "base:0x936c137699230c4732d534c7E968cC7cEAa6Cf45",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x0Da314776B267D898dEE57F6Ede357ae28b3b83c"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HamMultisig1",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x936c137699230c4732d534c7E968cC7cEAa6Cf45#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "base:0x3c69dcFF018766c72449cd460Cc7AF8863056a43",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x39Aea2Dd53f2d01c15877aCc2791af6BDD7aD567"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592159,
"transactionHash": "0x89f9c6e5586f9637baedc32cb97e79315a6af667f9e7767b3db6bf8ce361c010",
"implementations": [
"base:0x39Aea2Dd53f2d01c15877aCc2791af6BDD7aD567"
]
}
],
"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 HamMultisig1",
"upgradableBy": [
{
"name": "HamMultisig1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3c69dcFF018766c72449cd460Cc7AF8863056a43#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: HamMultisig1",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49#code"
}
]
},
"escrows": [
{
"address": "0xdD83c537B35d98776913D7ab60EBaA5c28F9dD01",
"sinceTimestamp": 1716592039,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "base:0xdD83c537B35d98776913D7ab60EBaA5c28F9dD01",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716592229,
"transactionHash": "0x7bbcb9291fc7aef835e6ee5cacd77d4eaf750607a99088fbe6b2094970957b7d",
"implementations": [
"base:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xdD83c537B35d98776913D7ab60EBaA5c28F9dD01#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x936c137699230c4732d534c7E968cC7cEAa6Cf45",
"sinceTimestamp": 1716592053,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "base:0x936c137699230c4732d534c7E968cC7cEAa6Cf45",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x5eC25263F8a79F8D5fF7bD5F493640b6E2627B49"
],
"implementations": [
"base:0x0Da314776B267D898dEE57F6Ede357ae28b3b83c"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x936c137699230c4732d534c7E968cC7cEAa6Cf45#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x71442A5586bde0f5EfD6588D01c2B2820D9D236D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347279,
"transactionHash": "0x2127945406db892b80c53ecca4038f8cd8a09bf34609bedab1abbeec104b985e",
"implementations": [
"eth:0x71442A5586bde0f5EfD6588D01c2B2820D9D236D"
]
}
],
"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 Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347135,
"transactionHash": "0x79baffb8228b3b0b6c465fb72f7bf01eac38be1ebbabf54b9b196bd5138b9611",
"implementations": [
"eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0"
]
}
],
"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 Hashkey Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Hashkey Multisig 3",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x43F8DeFe3E9286D152E91BB16a248808E7247198#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"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 Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734346751,
"transactionHash": "0x1dcf3f8b738b3dfa3a01a25f98c6d34364a7f72bc076d559a3871b732b27cccd",
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
}
],
"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 Hashkey Multisig 1\n * **guardian**: Hashkey Multisig 2",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x899F07862D3A03F70E07b7f01183934b485d2e97",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x21971eCC803C30A181ee111803253C869083baF1"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347231,
"transactionHash": "0x18124dec0d690b8070dc4f7a465bd3fa4da20624e726077230504fbe284dd411",
"implementations": [
"eth:0x21971eCC803C30A181ee111803253C869083baF1"
]
}
],
"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 Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x899F07862D3A03F70E07b7f01183934b485d2e97#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xcD8f943e7d506cD92dE582Ac5065dE718E568580"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347171,
"transactionHash": "0x6d78b2810917cff9e25fa59661d3700154876bd1e70ff9887cfc8862eeac2ac9",
"implementations": [
"eth:0xcD8f943e7d506cD92dE582Ac5065dE718E568580"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x0407af506d86bFA5e401099b2fC2355590638f19",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x3FAe8259417036C02156DF91BdaF9d8F0ae5551f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347183,
"transactionHash": "0x1d7aab4c1ea1fedbcee0d9b737149bb551b8f621b2fe4ce8222fe3d34359c155",
"implementations": [
"eth:0x3FAe8259417036C02156DF91BdaF9d8F0ae5551f"
]
}
],
"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 Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0407af506d86bFA5e401099b2fC2355590638f19#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x4deC2aA521108d78d983c0c12656c6CF8631F2ED",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xE5a698154470AF2626b27fEecb684F8fb265F2E0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347315,
"transactionHash": "0x471f2f867ef5c389027fcb43bb83162a2aa4af482029a0f4c45c3db2765b0134",
"implementations": [
"eth:0xE5a698154470AF2626b27fEecb684F8fb265F2E0"
]
}
],
"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 Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4deC2aA521108d78d983c0c12656c6CF8631F2ED#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b",
"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/0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x7447b25b91336127042CC6899B2C15668a1Ab8BA",
"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/0x7447b25b91336127042CC6899B2C15668a1Ab8BA#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Hashkey Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7986eD289935A0F47FC434C00cDE309fE2c51f1C#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xBb70D595147A141e268532BFEF61A8c25054d26D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347291,
"transactionHash": "0xe2e1492dc5adea04088b786ca327df8addc15e95b1714c442dc9aee0b96da2ea",
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
}
],
"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 Hashkey Multisig 1\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBb70D595147A141e268532BFEF61A8c25054d26D#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA",
"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/0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347303,
"transactionHash": "0x7ac81f23f33c8fd25cb3c9bb918ced8f032989fdfdbfd98c7ac23f1735ae397f",
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
}
],
"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 Hashkey Multisig 1\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xE38135e20BA018a5542C83De258d80d6883Da8A3",
"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/0xE38135e20BA018a5542C83De258d80d6883Da8A3#code"
}
]
},
"escrows": [
{
"address": "0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"sinceTimestamp": 1734346799,
"tokens": [
"ETH",
"HSK"
],
"contract": {
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"description": "Main entry point for users depositing ETH, HSK.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"sinceTimestamp": 1734346823,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"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/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
"chain": "ethereum",
"includeInTotal": true,
"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": "\nSteps 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.\n ",
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "AggchainECDSAMultisig",
"isVerified": true,
"address": "eth:0xaD83Cd3e5A725546daDC5A25088c5c098d320Ca8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756808195,
"transactionHash": "0xe032344eb8cef2d2df7a64076e1e0671870fa0b87a9a8b097ccf02c6be2a34af",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
}
],
"description": "System contract defining the Haust Network Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).\n* Roles:\n * **admin**: EOA 1\n * **aggchainSigners**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaD83Cd3e5A725546daDC5A25088c5c098d320Ca8#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 3, EOA 4\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1756808195,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherWrapped",
"wethAddress": "0x5A77f1443D16ee5761d310e38b62f77f726bC71c",
"tokensToAssignFromL1": [
"HAUST"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"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"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x39a0005415256B9863aFE2d55Edcf75ECc3A4D7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x4B58Ed755186326E77253444AaDe73c6E591c909"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x315343bfae73d27357f40325fbc24b66f140733568de2220767ad2806ab8af84",
"implementations": [
"eth:0x4B58Ed755186326E77253444AaDe73c6E591c909"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x39a0005415256B9863aFE2d55Edcf75ECc3A4D7e#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5ae68684D9179A8053883f1Df599Ea7Fb35303c3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x27392Eb24eEFce471992a42F374730C07E5beF26"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x0fcabdc616db39f877637e5c1395bb5cc6765d3a457a59c0b5dc0c477f6b5792",
"implementations": [
"eth:0x27392Eb24eEFce471992a42F374730C07E5beF26"
]
}
],
"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 GnosisSafe\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5ae68684D9179A8053883f1Df599Ea7Fb35303c3#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x6daF3a3497D8abdFE12915aDD9829f83A79C0d51",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x05d99CB268cCC0f88e6BEbe0Eb0AF4e9C0b83cf4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x5126002dc83b48a6edaec5e30e09544828be319130e2a598ddc7ac4c7e26bf61",
"implementations": [
"eth:0x05d99CB268cCC0f88e6BEbe0Eb0AF4e9C0b83cf4"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6daF3a3497D8abdFE12915aDD9829f83A79C0d51#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x15144FB8621cB3c4ED3DB223c173ffb58C8D2aB8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x29db48723d864AE327c17E998De649E691CEA1bf"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868115,
"transactionHash": "0x450f90388748ebd58cf6add51537e61a1951432afac13c104a4189eeaf3332e2",
"implementations": [
"eth:0x29db48723d864AE327c17E998De649E691CEA1bf"
]
}
],
"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 GnosisSafe\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x15144FB8621cB3c4ED3DB223c173ffb58C8D2aB8#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x5eaa10F99e7e6D177eF9F74E519E319aa49f191e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x4B9882f8a7c65998bEe6176FA1F3CDf6fb54f8f9"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain. This version includes a guardian function to recover USDC that was incorrectly sent to the L2 Stargate USDC address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5eaa10F99e7e6D177eF9F74E519E319aa49f191e#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xa446331bD28cbe0186A983a27C528f566B6bedE0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0xdb96A01A78C984AAdCC72884d7c778Dd38dfe41C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x6ee624923e907e85f9fdf25eb8d54eb55d9cd27436599e4a37582517373a9017",
"implementations": [
"eth:0xdb96A01A78C984AAdCC72884d7c778Dd38dfe41C"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa446331bD28cbe0186A983a27C528f566B6bedE0#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xF005dFb08377faD44588Af68d0884D272A6fb050",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x5b531AA3ef066E74eBb81cca3B6F841321148369"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x1a0914008251f00f1b0f064db9a9536ec474f29df5b48b34108babd3d263e0ce",
"implementations": [
"eth:0x5b531AA3ef066E74eBb81cca3B6F841321148369"
]
}
],
"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 GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF005dFb08377faD44588Af68d0884D272A6fb050#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x0262fEDC4A98f94dDB90CeF0E058644d8409342C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x380951156AF4ed8D3B1923c0DFb7AcBC59A045Fc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x33bfeb70a6b7bc54307744e22eac08e6340f9e1921d27ab2092e031184d26297",
"implementations": [
"eth:0x380951156AF4ed8D3B1923c0DFb7AcBC59A045Fc"
]
}
],
"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 GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0262fEDC4A98f94dDB90CeF0E058644d8409342C#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: GnosisSafe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbE81A9D662422f667F634f3Fc301e2E360FeFB30#code"
}
]
},
"escrows": [
{
"address": "0x39a0005415256B9863aFE2d55Edcf75ECc3A4D7e",
"sinceTimestamp": 1725868115,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x39a0005415256B9863aFE2d55Edcf75ECc3A4D7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x4B58Ed755186326E77253444AaDe73c6E591c909"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725868139,
"transactionHash": "0x315343bfae73d27357f40325fbc24b66f140733568de2220767ad2806ab8af84",
"implementations": [
"eth:0x4B58Ed755186326E77253444AaDe73c6E591c909"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x39a0005415256B9863aFE2d55Edcf75ECc3A4D7e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5eaa10F99e7e6D177eF9F74E519E319aa49f191e",
"sinceTimestamp": 1725868115,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x5eaa10F99e7e6D177eF9F74E519E319aa49f191e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xbE81A9D662422f667F634f3Fc301e2E360FeFB30"
],
"implementations": [
"eth:0x4B9882f8a7c65998bEe6176FA1F3CDf6fb54f8f9"
]
},
"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/0x5eaa10F99e7e6D177eF9F74E519E319aa49f191e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x3E4F4Eb77a9c1f88c0e1F5aDCc9d3521Ce157FdD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0x2246d85AC397d289d49a92C804201738C4Bd2d73"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0xca1b3d60c48b85482355d9040bea39130f936d25366bba20cf0db83ed734f342",
"implementations": [
"eth:0x2246d85AC397d289d49a92C804201738C4Bd2d73"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **challenger**: HyprMultisig\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3E4F4Eb77a9c1f88c0e1F5aDCc9d3521Ce157FdD#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xba1ac896F3b7cB273daE94bF9A6291A432e826c7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0xC3fE3e0Ea967B2878faB2fEc7e1067b32aDf1C03"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0x49a7f7d61580b0053fc9c9250f4aab0fab6fed09b7568889479af236ac28afe7",
"implementations": [
"eth:0xC3fE3e0Ea967B2878faB2fEc7e1067b32aDf1C03"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **guardian**: HyprMultisig",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xba1ac896F3b7cB273daE94bF9A6291A432e826c7#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xBB08cf90DEb93492b463f1Ee5DA9453e51643586",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0xd136b83fd10735AB0001B8F8B361900c3717d6C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0x68faa5363b8cab19d7ca0b3c184631a3474c6056170110c2716a26c8d6efbbca",
"implementations": [
"eth:0xd136b83fd10735AB0001B8F8B361900c3717d6C2"
]
}
],
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBB08cf90DEb93492b463f1Ee5DA9453e51643586#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x1bBde518ad01BaABFE30020407A7630FB17B545d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0xa1D67ED34D6485cf59C5aA4AC3AE555959A0adA1"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1bBde518ad01BaABFE30020407A7630FB17B545d#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x2e5687010b5f62Ad0ef84370325bC91DED2724fe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0x384BA1d14cDdE620d309AcA9B154e6CACbF27d11"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0x674c805e53349e5b68c20bd25241d970ae83bba30757b8306114756128e32a53",
"implementations": [
"eth:0x384BA1d14cDdE620d309AcA9B154e6CACbF27d11"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2e5687010b5f62Ad0ef84370325bC91DED2724fe#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9f6F58F07863D72C47D001066C65528C27D3AE19",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0xdf3CEeA6357eb051c7D5C6aA0E31908C99Ec4E7e"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0x4b182e697dc5f08c0c84092086af71c3b46ed73c9a60d12d0d3c28bab69f6e28",
"implementations": [
"eth:0x9f6F58F07863D72C47D001066C65528C27D3AE19"
]
},
{
"timestamp": 1705512431,
"transactionHash": "0x160d179c75db8357b0c5c77b1017d7d5d5f1d1e888abf1e1051c070a5e54ea2b",
"implementations": [
"eth:0xdf3CEeA6357eb051c7D5C6aA0E31908C99Ec4E7e"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9f6F58F07863D72C47D001066C65528C27D3AE19#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20D697b63d7747cF78C94ad9ee75C1436781E27E#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x5F67587FB3f1736a5a91C10E3EeB7cA92117177B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0x2A033B70a4D7FAbc6E651E964D18fcf65D9d2aED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0x56c92e34794f4c1e5d3bb2ab33bd7a36ce493db3e10b158a439ec7456af73e4b",
"implementations": [
"eth:0x2A033B70a4D7FAbc6E651E964D18fcf65D9d2aED"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5F67587FB3f1736a5a91C10E3EeB7cA92117177B#code"
}
]
},
"escrows": [
{
"address": "0xba1ac896F3b7cB273daE94bF9A6291A432e826c7",
"sinceTimestamp": 1705512431,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xba1ac896F3b7cB273daE94bF9A6291A432e826c7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0xC3fE3e0Ea967B2878faB2fEc7e1067b32aDf1C03"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705512431,
"transactionHash": "0x49a7f7d61580b0053fc9c9250f4aab0fab6fed09b7568889479af236ac28afe7",
"implementations": [
"eth:0xC3fE3e0Ea967B2878faB2fEc7e1067b32aDf1C03"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xba1ac896F3b7cB273daE94bF9A6291A432e826c7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x1bBde518ad01BaABFE30020407A7630FB17B545d",
"sinceTimestamp": 1705512431,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x1bBde518ad01BaABFE30020407A7630FB17B545d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x20D697b63d7747cF78C94ad9ee75C1436781E27E"
],
"implementations": [
"eth:0xa1D67ED34D6485cf59C5aA4AC3AE555959A0adA1"
]
},
"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/0x1bBde518ad01BaABFE30020407A7630FB17B545d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "AxelarGasService",
"isVerified": true,
"address": "eth:0x2d5d7d31F671F86C782533cc367F14109a082712",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6f24A47Fc8AE5441Eb47EFfC3665e70e69Ac3F05"
],
"implementations": [
"eth:0xcb5C784DCf8FF342625DbC53B356ed0Cbb0EBB9b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702538351,
"transactionHash": "0xfc2554f725e599e45041529be0d88fd97508a5d3fb043cd26fc93a0bb45bf887",
"implementations": [
"eth:0x4Fe2d119873790cc9e15F6cC53cae1C2eb2039dC"
]
},
{
"timestamp": 1717474967,
"transactionHash": "0x89d167023ab2edd2f46e1c80f09118d7ab37362d845b2a9a781ec97eaa5c6563",
"implementations": [
"eth:0xcb5C784DCf8FF342625DbC53B356ed0Cbb0EBB9b"
]
}
],
"description": "* Roles:\n * **admin**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2d5d7d31F671F86C782533cc367F14109a082712#code"
},
{
"name": "AxelarGatewayProxyMultisig",
"isVerified": true,
"address": "eth:0x4F4495243837681061C4743b74B3eEdf548D56A5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F4495243837681061C4743b74B3eEdf548D56A5#code"
},
{
"name": "RootAxelarBridgeAdaptor",
"isVerified": true,
"address": "eth:0x4f49B53928A71E553bB1B0F66a5BcB54Fd4E8932",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdE2BCd3F0297d29c25e83228E5A33C0b43b51Ec8"
],
"implementations": [
"eth:0xE2E91C1Ae2873720C3b975a8034e887A35323345"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702962623,
"transactionHash": "0x39c068494cbb3daa564a918bda53218f86d781976e6a8235c1c89a03dc9ec182",
"implementations": [
"eth:0xE2E91C1Ae2873720C3b975a8034e887A35323345"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately IMXAdminMultisig",
"upgradableBy": [
{
"name": "IMXAdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4f49B53928A71E553bB1B0F66a5BcB54Fd4E8932#code"
},
{
"name": "StarkExchangeMigration",
"isVerified": true,
"address": "eth:0x58b5484F489f7858DC83a5a677338074b57de806",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58b5484F489f7858DC83a5a677338074b57de806#code"
},
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0x5FDCCA53617f4d2b9134B29090C87D01058e27e9",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xD2C37fC6fD89563187f3679304975655e448D192"
],
"implementations": [
"eth:0x58b5484F489f7858DC83a5a677338074b57de806"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1615389188,
"transactionHash": "0x9b57c19aa91cc17c9487085b68532cd65d1e4c263b5928f14c03a9d36c9097df",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1615917879,
"transactionHash": "0xf42d8fc579401fc76769bf63ba72f7277aac976aeb2a4cd3eca899ca08de7c20",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1616671455,
"transactionHash": "0x79f72bef0984e3ae76ab638c078f92f1a0d4ad2a289b8a91e072d81f77d505ce",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1616745691,
"transactionHash": "0x9e8cc538b40a70723a287ece3ecb4e6aafbbde0e04f621124df6e4c2d7995dc7",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1630397729,
"transactionHash": "0x26fb60bb6b5ff3ef22cd959d007588f7410586499870411cfddc2759b97d44d6",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC"
]
},
{
"timestamp": 1631205002,
"transactionHash": "0xeaa0efb3937eee43c1083cc776d5033b131e6ef12ba0d0646db1b34e600847cd",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC"
]
},
{
"timestamp": 1642061331,
"transactionHash": "0x658a93571ca9733ba346bd746790a6d07821d86c89fd90809e85bf7f2f8d9797",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC"
]
},
{
"timestamp": 1716187175,
"transactionHash": "0x3425fd24435e4aefdb08f3970e61e446eb5d21a1e0c916d1ba9331b060b72192",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B"
]
},
{
"timestamp": 1772672831,
"transactionHash": "0x07ac699d0dc30804af73843cc1cba5f50780135e25932cf78be69a3e6c11b194",
"implementations": [
"eth:0x58b5484F489f7858DC83a5a677338074b57de806"
]
}
],
"description": "* Roles:\n * **admin**: IMXAdminMultisig",
"upgradableBy": [
{
"name": "IMXAdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5FDCCA53617f4d2b9134B29090C87D01058e27e9#code"
},
{
"name": "Operators",
"isVerified": true,
"address": "eth:0x7DdB2d76b80B0AA19bDEa48EB1301182F4CeefbC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7DdB2d76b80B0AA19bDEa48EB1301182F4CeefbC#code"
},
{
"name": "ChildERC20",
"isVerified": true,
"address": "eth:0x8804A8aA1F18f23aE8A456dD73806FdA3219FaD1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8804A8aA1F18f23aE8A456dD73806FdA3219FaD1#code"
},
{
"name": "VaultRootSenderAdapter",
"isVerified": true,
"address": "eth:0x9Fabd9Cc71f15b9Cfd717E117FBb9cfD9fC7cd32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9Fabd9Cc71f15b9Cfd717E117FBb9cfD9fC7cd32#code"
},
{
"name": "RootERC20BridgeFlowRate",
"isVerified": true,
"address": "eth:0xBa5E35E26Ae59c7aea6F029B68c6460De2d13eB6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdE2BCd3F0297d29c25e83228E5A33C0b43b51Ec8"
],
"implementations": [
"eth:0x177EaFe0f1F3359375B1728dae0530a75C83E154"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702962563,
"transactionHash": "0x2e14d2e7f495b17f93c4c839315cfedfd5ee28df540e6433ccc6abb0206b0775",
"implementations": [
"eth:0x177EaFe0f1F3359375B1728dae0530a75C83E154"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately IMXAdminMultisig",
"upgradableBy": [
{
"name": "IMXAdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBa5E35E26Ae59c7aea6F029B68c6460De2d13eB6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xdE2BCd3F0297d29c25e83228E5A33C0b43b51Ec8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: IMXAdminMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdE2BCd3F0297d29c25e83228E5A33C0b43b51Ec8#code"
}
]
},
"escrows": [
{
"address": "0x5FDCCA53617f4d2b9134B29090C87D01058e27e9",
"sinceTimestamp": 1615389188,
"tokens": [
"ETH",
"IMX",
"USDC",
"OMI"
],
"contract": {
"isVerified": true,
"address": "eth:0x5FDCCA53617f4d2b9134B29090C87D01058e27e9",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xD2C37fC6fD89563187f3679304975655e448D192"
],
"implementations": [
"eth:0x58b5484F489f7858DC83a5a677338074b57de806"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1615389188,
"transactionHash": "0x9b57c19aa91cc17c9487085b68532cd65d1e4c263b5928f14c03a9d36c9097df",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1615917879,
"transactionHash": "0xf42d8fc579401fc76769bf63ba72f7277aac976aeb2a4cd3eca899ca08de7c20",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1616671455,
"transactionHash": "0x79f72bef0984e3ae76ab638c078f92f1a0d4ad2a289b8a91e072d81f77d505ce",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1616745691,
"transactionHash": "0x9e8cc538b40a70723a287ece3ecb4e6aafbbde0e04f621124df6e4c2d7995dc7",
"implementations": [
"eth:0x49401Ddc4E0A858B5B4cf3D6De38393B7fAC7378"
]
},
{
"timestamp": 1630397729,
"transactionHash": "0x26fb60bb6b5ff3ef22cd959d007588f7410586499870411cfddc2759b97d44d6",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC"
]
},
{
"timestamp": 1631205002,
"transactionHash": "0xeaa0efb3937eee43c1083cc776d5033b131e6ef12ba0d0646db1b34e600847cd",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC"
]
},
{
"timestamp": 1642061331,
"transactionHash": "0x658a93571ca9733ba346bd746790a6d07821d86c89fd90809e85bf7f2f8d9797",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC"
]
},
{
"timestamp": 1716187175,
"transactionHash": "0x3425fd24435e4aefdb08f3970e61e446eb5d21a1e0c916d1ba9331b060b72192",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B"
]
},
{
"timestamp": 1772672831,
"transactionHash": "0x07ac699d0dc30804af73843cc1cba5f50780135e25932cf78be69a3e6c11b194",
"implementations": [
"eth:0x58b5484F489f7858DC83a5a677338074b57de806"
]
}
],
"description": "Main StarkEx contract, used also as an escrow.",
"url": "https://etherscan.io/address/0x5FDCCA53617f4d2b9134B29090C87D01058e27e9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 14d delay on code upgrades."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x10d7B35078d3baabB96Dd45a9143B94be65b12CD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10d7B35078d3baabB96Dd45a9143B94be65b12CD#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x5d66C1782664115999C47c9fA5cd031f495D3e4F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5d66C1782664115999C47c9fA5cd031f495D3e4F#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Gelato Multisig",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62C0a111929fA32ceC2F76aDba54C16aFb6E8364#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x661235a238B11191211fa95D4Dd9E423d521E0Be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x661235a238B11191211fa95D4Dd9E423d521E0Be#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69d3Cf86B2Bf1a9e99875B7e2D9B6a84426c171f#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x88FF1e5b602916615391F55854588EFcBB7663f0#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#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": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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:0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6Cbd14DA021e39A7895Ae151Ac72eCc9023e87F6#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": "DelayedWETH",
"isVerified": true,
"address": "eth:0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x71CC5E57cE659e8E2cc78F86b14BDDCb626691Fd#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xA8B389A82e088b164cD03230e900980CcED34d29",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733498411,
"transactionHash": "0x45c2b63987a8c7ab97bdcdab5e04618d4ed74971aa4ac51b15ed8522ea6c0284",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA8B389A82e088b164cD03230e900980CcED34d29#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbd4AbB321138e8Eddc399cE64E66451294325a14#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd56045E68956FCe2576E680c95a4750cf8241f79",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd56045E68956FCe2576E680c95a4750cf8241f79#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xEe018bAf058227872540AC60eFbd38b023d9dAe2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEe018bAf058227872540AC60eFbd38b023d9dAe2#code"
}
],
"ink": [
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "ink",
"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**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": true,
"address": "ink:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"ink:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"ink:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
}
],
"description": "Provides the current gas price for L2 transactions.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
]
},
"chain": "ink",
"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**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
]
},
"chain": "ink",
"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**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "ink",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"ink:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"ink:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "ink",
"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**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Administration contract for other contract proxies.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias\n * **owner**: SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "ink:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "ink:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ink:0x4200000000000000000000000000000000000018"
],
"implementations": [
"ink:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021"
]
},
"chain": "ink",
"pastUpgrades": [],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately SuperchainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner_L2Alias",
"name": "SuperchainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.inkonchain.com/address/0x4200000000000000000000000000000000000021#code"
}
]
},
"escrows": [
{
"address": "0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"sinceTimestamp": 1753379243,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbd4AbB321138e8Eddc399cE64E66451294325a14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xbd4AbB321138e8Eddc399cE64E66451294325a14#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x88FF1e5b602916615391F55854588EFcBB7663f0",
"sinceTimestamp": 1733498411,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x88FF1e5b602916615391F55854588EFcBB7663f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd56045E68956FCe2576E680c95a4750cf8241f79"
],
"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/0x88FF1e5b602916615391F55854588EFcBB7663f0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "PredicatePermitter",
"isVerified": true,
"address": "eth:0x11D58231A79D866674EaAa043Fdaeae9A3dF4c0E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea"
],
"implementations": [
"eth:0xef082Ff43805B93Ed375Fd47A964Fe136cCB9021"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750501451,
"transactionHash": "0x1171a710716e4ea09dd241bd14fad955a99e5bc2dc7662530f1b25c3b4f1020f",
"implementations": [
"eth:0xef082Ff43805B93Ed375Fd47A964Fe136cCB9021"
]
}
],
"description": "Contract that connects INTMAX deposits to the Predicate AVS that ultimately checks AML requirements. It stores a policy ID to be then referenced by the Predicate AVS.\n* Roles:\n * **admin**: INTMAX Multisig 3; ultimately EOA 1, EOA 2, EOA 3, EOA 5\n * **getPredicateManager**: PredicateServiceManager",
"upgradableBy": [
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 2",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 3",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 5",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11D58231A79D866674EaAa043Fdaeae9A3dF4c0E#code"
},
{
"name": "Exit",
"isVerified": true,
"address": "eth:0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x24b880Ee40387dc86e374F707B5081c34Edb5eA3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771122743,
"transactionHash": "0x098a5a57b90967c06973d8aad9d74c83057b522650f5ab125202162b3e95857b",
"implementations": [
"eth:0x24b880Ee40387dc86e374F707B5081c34Edb5eA3"
]
}
],
"description": "Timelocked exit mechanism. SUBMITTER_ROLE queues withdrawal requests with a 24-hour timelock, after which anyone can execute them permissionlessly. GUARDIAN_ROLE can cancel pending requests and pause the contract.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B#code"
},
{
"name": "Contribution",
"isVerified": true,
"address": "eth:0x4c614C7BB9420caA1F19cB2C58B00864f2125Ce2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x09665baEFbfaAE3E9b3AC854717C2ab5534d2D25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500551,
"transactionHash": "0x8650dce84d7ab72b87aebbc5655861fa2734ef95c3046485f40dc2901b291656",
"implementations": [
"eth:0x09665baEFbfaAE3E9b3AC854717C2ab5534d2D25"
]
}
],
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4c614C7BB9420caA1F19cB2C58B00864f2125Ce2#code"
},
{
"name": "LiquidityV2",
"isVerified": true,
"address": "eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500599,
"transactionHash": "0xbb35cae7bb4711e7e2db56c10d3f09f1c2d482bb00912b6593577d4dd744a86e",
"implementations": [
"eth:0x0fE3E6018E53cb90020b5C06BC4c7c4FcEa1eBF0"
]
},
{
"timestamp": 1752761087,
"transactionHash": "0x305d92e409c58e4ce7facda3e759b383326706f81af0bf530fca37cdff758c1e",
"implementations": [
"eth:0x4fd8BF5f45832a007448fcDE29049919F8cf6D0d"
]
},
{
"timestamp": 1756560323,
"transactionHash": "0x93f7c96b159e82cd555266aa0451fb2d3a7eb8475edf83f66a15fa617de1eca0",
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
},
{
"timestamp": 1770474575,
"transactionHash": "0x95073b3d48f892101baf0c2e857a0b0b8f72dd6ae5fdfecd49c0814dfec4cd69",
"implementations": [
"eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9"
]
},
{
"timestamp": 1771148471,
"transactionHash": "0x7ae0a3b4f0284d10ee582d9f28124a5798fb68f4f5ecdeddcd915d77abf30799",
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
}
],
"description": "Entry point of the project. Handles deposits, withdrawals, and the communication from and to the main rollup contract on Scroll. Deposits are gated by an AML check. The V2 upgrade adds an exitTransfer function, gated by an EXIT_ROLE, that can transfer any token type from the contract.\n* Roles:\n * **amlPermitter**: PredicatePermitter; ultimately PredicateServiceManager\n * **relayer**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF65e73aAc9182e353600a916a6c7681F810f79C3#code"
}
],
"scroll": [
{
"name": "Rollup",
"isVerified": true,
"address": "scr:0x1c88459D014e571c332BF9199aD2D35C93219A2e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752665870,
"transactionHash": "0x00ed05b1421c07fc3016adada820d7e853df1a1898e4b8636b1139c6712b1ffd",
"implementations": [
"scr:0xF34299210fB8505232649e9BEa14a84DD75e746b"
]
},
{
"timestamp": 1770717100,
"transactionHash": "0xbd41e060791e0e158dc07aafdfb52c0e26c76ea9193852ab9d4d5c8eb9e9fe70",
"implementations": [
"scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820"
]
}
],
"description": "Main rollup contract used to submit blocks and process deposits. It saves block hashes to be then referenced by the Withdrawal contract.\n* Roles:\n * **admin**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x1c88459D014e571c332BF9199aD2D35C93219A2e#code"
},
{
"name": "PlonkVerifier",
"isVerified": true,
"address": "scr:0x1d38545a33740Ab3480d9035bB3126914404423d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "A wrapper verifier that can check both withdrawal zk proofs to exit from INTMAX network and zk proofs for claiming rewards of the privacy mining program.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x1d38545a33740Ab3480d9035bB3126914404423d#code"
},
{
"name": "Claim",
"isVerified": true,
"address": "scr:0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0x5216C8D0F2188a91aD07Fe4F334F220b2F7b59EA"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752740586,
"transactionHash": "0x51f594e6a45f74ba5ca4a9536e7911be101f6a9ee7efb1471ee6e359af36c6ef",
"implementations": [
"scr:0x1899bF9D0e40Dd1bB6C3CCF2123A0Bd1DE0F0548"
]
},
{
"timestamp": 1755322929,
"transactionHash": "0xcb1b6cb53aeb3e3946facae2aa425a1b82068dcdeb41deeaaacae2948c3e4f3a",
"implementations": [
"scr:0x5216C8D0F2188a91aD07Fe4F334F220b2F7b59EA"
]
}
],
"description": "* Roles:\n * **admin**: INTMAX Multisig 2\n * **owner**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5#code"
},
{
"name": "Contribution",
"isVerified": true,
"address": "scr:0x42Fe7Db60c4C70eBb7597dB9a0959F9fCa0114af",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0x0000000000000000000000000000000000000000"
],
"implementations": [
"scr:0x8305Ca6756b0edb49ed9503C1Cf39Cb64a00b955"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1750500006,
"transactionHash": "0x80b8d8e13d4baaf9f60d6487bc220584103ae955efb88bea6c95cdff57ebb46c",
"implementations": [
"scr:0x8305Ca6756b0edb49ed9503C1Cf39Cb64a00b955"
]
}
],
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n* Roles:\n * **admin**: EOA 6",
"upgradableBy": [
{
"id": "EOA-6",
"name": "EOA 6",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x42Fe7Db60c4C70eBb7597dB9a0959F9fCa0114af#code"
},
{
"name": "Withdrawal",
"isVerified": true,
"address": "scr:0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0x614ef91D1971A4dB458ABde03c62247afc57A753"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752665900,
"transactionHash": "0x42a803443a8cce32af6abb340909910f95b82c9e4b62d9002ce8c5554bf6ad8a",
"implementations": [
"scr:0xDFC6EB6642FEAF99629c6629b2f7dC7eB9F1a0A3"
]
},
{
"timestamp": 1755322929,
"transactionHash": "0xcb1b6cb53aeb3e3946facae2aa425a1b82068dcdeb41deeaaacae2948c3e4f3a",
"implementations": [
"scr:0x614ef91D1971A4dB458ABde03c62247afc57A753"
]
}
],
"description": "Contract handling withdrawal requests, which require a validity proof of sufficient balance. It tracks amount of funds already withdrawn to prevent double withdrawals.\n* Roles:\n * **admin**: INTMAX Multisig 2\n * **owner**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449#code"
}
]
},
"escrows": [
{
"address": "0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"sinceTimestamp": 1750500599,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500599,
"transactionHash": "0xbb35cae7bb4711e7e2db56c10d3f09f1c2d482bb00912b6593577d4dd744a86e",
"implementations": [
"eth:0x0fE3E6018E53cb90020b5C06BC4c7c4FcEa1eBF0"
]
},
{
"timestamp": 1752761087,
"transactionHash": "0x305d92e409c58e4ce7facda3e759b383326706f81af0bf530fca37cdff758c1e",
"implementations": [
"eth:0x4fd8BF5f45832a007448fcDE29049919F8cf6D0d"
]
},
{
"timestamp": 1756560323,
"transactionHash": "0x93f7c96b159e82cd555266aa0451fb2d3a7eb8475edf83f66a15fa617de1eca0",
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
},
{
"timestamp": 1770474575,
"transactionHash": "0x95073b3d48f892101baf0c2e857a0b0b8f72dd6ae5fdfecd49c0814dfec4cd69",
"implementations": [
"eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9"
]
},
{
"timestamp": 1771148471,
"transactionHash": "0x7ae0a3b4f0284d10ee582d9f28124a5798fb68f4f5ecdeddcd915d77abf30799",
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
}
],
"url": "https://etherscan.io/address/0xF65e73aAc9182e353600a916a6c7681F810f79C3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": [
"scr:0x1d38545a33740Ab3480d9035bB3126914404423d"
]
}
+1 -2
+1 -2
{
"creator": "INTMAX",
"projectsForTvs": [
{
"projectId": "intmax",
"sinceTimestamp": 1750888800
}
],
"proofSystemInfo": "\n \n ## Description\n\n INTMAX prover is a zk proving system for privacy-preserving INTMAX L2 based on [Plonky2](https://github.com/0xPolygonZero/plonky2/tree/main) circuits, optimized for client side proving and using not only succinctness, but also zero knowledge properties of Plonky2. INTMAX circuits are proven with a STARK which is wrapped into a Plonk SNARK before settling onchain.\n\n ## Proof system\n\n Plonky2 implements a circuit aritmetization based on TurboPlonk over Goldilocks field, but it replaces KZG polynomial commitment scheme with a FRI-based polynomial testing scheme. In this way proving Plonky2 circuits requires no trusted setup, i.e. it is a STARK. However the circuit design is different from zkVM STARKs, so INTMAX custom logic is implemented as custom circuits rather than a zkVM program.\n\n ### Circuits\n\n INTMAX prover works with [several different circuits](https://github.com/InternetMaximalism/intmax2-zkp/blob/main/README.md) that could be proven by different entities in the network (e.g. [users, validity provers, aggregators](https://docs.network.intmax.io/developers-hub/intmax-nodes/provers)). This design support local proving and enables private transactions on the L2.\n\n Available circuits are: [validity](https://github.com/InternetMaximalism/intmax2-zkp/tree/main/src/circuits/validity) for proving public state transition, [balance](https://github.com/InternetMaximalism/intmax2-zkp/tree/main/src/circuits/balance) for proving correct updates of individual user accounts based on private information, [withdrawal](https://github.com/InternetMaximalism/intmax2-zkp/tree/main/src/circuits/withdrawal) for proving the validity of withdrawing funds from L2 to the host chain, [claim](https://github.com/InternetMaximalism/intmax2-zkp/tree/main/src/circuits/claim) for proving user eligibility for privacy mining program and [proof of innocence](https://github.com/InternetMaximalism/intmax2-zkp/tree/main/src/circuits/proof_of_innocence) for proving certain claims about deposits and withdrawals.\n\n ### Recursion and final wrap\n\n INTMAX circuits are based on recursive architecture, where generating a new STARK requires validating a previous STARK proof (e.g. processing a new balance update requires validating all previous balance updates). Several entities are responsible for providing these recursive proofs: users or [balance provers](https://docs.network.intmax.io/developers-hub/intmax-nodes/provers#balance-prover) for balance updates, [validity provers](https://docs.network.intmax.io/developers-hub/intmax-nodes/validity-prover) for validity circuit, [claim](https://docs.network.intmax.io/developers-hub/intmax-nodes/claim-aggregator) and [withdrawal](https://docs.network.intmax.io/developers-hub/intmax-nodes/withdrawal-aggregator) aggregators for processing claim and withdrawal proofs.\n\n Only claim and withdrawal proofs are posted onchain to be verified, all other proofs are verified only by the nodes in INTMAX network. Onchain proofs are wrapped in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve, which requires a trusted setup (see [below](#trusted-setups) for more details).\n ",
"techStack": {
"snark": [
{
"id": "Plonky2",
"type": "Plonk",
"name": "Plonky2",
"description": "Toolkit for developing transparent SNARKs based on PLONK and FRI developed by Polygon Zero team."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0x664dceea25b57766a5b550cf25cca24a7305f36fd60a5835f9e0505bec14ce8e",
"name": "Intmax verifier",
"sourceLink": "https://github.com/InternetMaximalism/intmax2-zkp",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x1d38545a33740Ab3480d9035bB3126914404423d",
"chain": "scroll"
"address": "scr:0x1d38545a33740Ab3480d9035bB3126914404423d"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x0a23342520Aa8Ca963c4201801F4D3E95e731637",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0x394317B191f5c7A371e74594776B1EfDc33d10D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703143883,
"transactionHash": "0x0c0f24dc018c3729da70c02c63d573dfac8fe99a9937b31da75b64d3ec98c88e",
"implementations": [
"eth:0x394317B191f5c7A371e74594776B1EfDc33d10D6"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately KarakMultisig\n * **challenger**: KarakMultisig\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0a23342520Aa8Ca963c4201801F4D3E95e731637#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x622333688CC1878C7ff4205c89bDe051798788A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0x01D5303F326B992845eef2782D4c9a7c6DdE4470"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703128511,
"transactionHash": "0xf5b7950924dfea5813bc7b14b1e0d19c87cd862ee9717f7d24806b92e57c5ada",
"implementations": [
"eth:0x01D5303F326B992845eef2782D4c9a7c6DdE4470"
]
}
],
"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 KarakMultisig\n * **batcherHash**: EOA 2\n * **owner**: KarakMultisig",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x622333688CC1878C7ff4205c89bDe051798788A7#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xeeCE9CD7Abd1CC84d9dfc7493e7e68079E47eA73",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0x3fe449Ef47228F03f979F9D955196494243cdf7E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703143967,
"transactionHash": "0x8a473670c3340bb6aa707beddf92664cf6d4ac8c79b785a6a0963531ba0e066d",
"implementations": [
"eth:0x3fe449Ef47228F03f979F9D955196494243cdf7E"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately KarakMultisig\n * **guardian**: KarakMultisig",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeeCE9CD7Abd1CC84d9dfc7493e7e68079E47eA73#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x952851CecB07705A5bb483C1CE080F97e1E7491E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0xc4550911Df26E604aA560dee6a9b66D0CA933482"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703143415,
"transactionHash": "0x47bceb663a46c76e798b58969b6d6154ea215e03822c2a76faf0caeb34fb2216",
"implementations": [
"eth:0xc4550911Df26E604aA560dee6a9b66D0CA933482"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately KarakMultisig",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x952851CecB07705A5bb483C1CE080F97e1E7491E#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9BFfA66a8FcAAd7AC9ea7c7d4b9a6fc46777022d",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0xc5c3DF92714aAf510F8dD9a4c9C67D35f7d7376b"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703048687,
"transactionHash": "0x2fcb412e58cba3af863cd4a0397c65bf6347a726aae1d698b79aa30cdaf877fa",
"implementations": [
"eth:0x9BFfA66a8FcAAd7AC9ea7c7d4b9a6fc46777022d"
]
},
{
"timestamp": 1703143751,
"transactionHash": "0x99fc5a58e224a9b519ed673d54b977070cb7093fe0aeb7ac5b2a93b1a541727b",
"implementations": [
"eth:0xc5c3DF92714aAf510F8dD9a4c9C67D35f7d7376b"
]
}
],
"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 KarakMultisig",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9BFfA66a8FcAAd7AC9ea7c7d4b9a6fc46777022d#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xBA61F25dd9f2d5f02D01B1C2c1c5F0B14c4B48A3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0xC4De51792746960FC0ac78360b8e9c6E103F3B13"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately KarakMultisig",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBA61F25dd9f2d5f02D01B1C2c1c5F0B14c4B48A3#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: KarakMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xF04a74899FF4c4410fAF3B5faa29B8Fd199C13DB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0xe1863A873f61fDD16560cAa7692a2A994b51E76A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703143547,
"transactionHash": "0xabefa8137a3edd703261a62514df2180cfe8251dea6867ab87386a0eb2f94281",
"implementations": [
"eth:0xe1863A873f61fDD16560cAa7692a2A994b51E76A"
]
}
],
"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 KarakMultisig",
"upgradableBy": [
{
"name": "KarakMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF04a74899FF4c4410fAF3B5faa29B8Fd199C13DB#code"
}
]
},
"escrows": [
{
"address": "0xeeCE9CD7Abd1CC84d9dfc7493e7e68079E47eA73",
"sinceTimestamp": 1703048687,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xeeCE9CD7Abd1CC84d9dfc7493e7e68079E47eA73",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0x3fe449Ef47228F03f979F9D955196494243cdf7E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703143967,
"transactionHash": "0x8a473670c3340bb6aa707beddf92664cf6d4ac8c79b785a6a0963531ba0e066d",
"implementations": [
"eth:0x3fe449Ef47228F03f979F9D955196494243cdf7E"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xeeCE9CD7Abd1CC84d9dfc7493e7e68079E47eA73#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xBA61F25dd9f2d5f02D01B1C2c1c5F0B14c4B48A3",
"sinceTimestamp": 1703048687,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xBA61F25dd9f2d5f02D01B1C2c1c5F0B14c4B48A3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1612F868EbA1cea65ee66bF4A7C75001b0D4065C"
],
"implementations": [
"eth:0xC4De51792746960FC0ac78360b8e9c6E103F3B13"
]
},
"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/0xBA61F25dd9f2d5f02D01B1C2c1c5F0B14c4B48A3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "AggchainFEP",
"isVerified": true,
"address": "eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746619859,
"transactionHash": "0x94512726adae49bb62110e2e8b037723a60d921d2ad2f18626e2d83a532e9f68",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1750690439,
"transactionHash": "0x3db4c1e8616cc300c46b7fea10aa3ef4d6e394642fce20ab2fd8ce15d16a7966",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1750858139,
"transactionHash": "0x69b66ecfc6cd449a80b58c1fcb937f436ca4afedc3cb9586fb7f9b3f35546c79",
"implementations": [
"eth:0xe7FE45579D784DC83B0feD844A65f4cEEFDe5682"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660"
]
}
],
"description": "The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n* Roles:\n * **aggchainManager**: Polygon Multisig 2\n * **aggchainSigners**: EOA 2 optimisticMode is enabled by the optimisticModeManager\n * **optimisticModeManager**: Polygon Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666#code"
},
{
"name": "OptimismPortal2_neutered",
"isVerified": true,
"address": "eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746742811,
"transactionHash": "0x8889fe6d2dfe60b7a36d37f1f1177c604c413baef6bb6aa5ef9a517dce5bddb8",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1746747095,
"transactionHash": "0xe49eea7d70073f7015c5d877a31b1375ba3422bebfdbcc23aa31111c01392c12",
"implementations": [
"eth:0x9a6C2Dcc7e523f87716e17Ba36D10CCfFA0A60bb"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4"
]
}
],
"description": "The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746742811,
"transactionHash": "0x8889fe6d2dfe60b7a36d37f1f1177c604c413baef6bb6aa5ef9a517dce5bddb8",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1746742811,
"transactionHash": "0x8889fe6d2dfe60b7a36d37f1f1177c604c413baef6bb6aa5ef9a517dce5bddb8",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"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 Polygon Multisig 2\n * **batcherHash**: EOA 1\n * **owner**: Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 3, EOA 4\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "vbWBTC",
"isVerified": true,
"address": "eth:0x2C24B57e2CCd1f273045Af6A5f632504C432374F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xda746ba183a805e81c8fc2bbaf726ca806f3a877b123a32c4a8fb233a3401cf1",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 1",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2C24B57e2CCd1f273045Af6A5f632504C432374F#code"
},
{
"name": "vbETH",
"isVerified": true,
"address": "eth:0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x14Be6579A41342ca6B402ec85E7be538e6Ade951"
],
"implementations": [
"eth:0x81c16F89222C32806Daf01f5129937dFE19D525e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0x5771d96984dfa1aa2ac1437a9a760fcdd8698a51646c357d228ca93a0c2bef49",
"implementations": [
"eth:0x81c16F89222C32806Daf01f5129937dFE19D525e"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 1",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF#code"
},
{
"name": "vbUSDS",
"isVerified": true,
"address": "eth:0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD1e389c046FB734D2a0c7C390312210c408ba832"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0x219783dd1d89579d2930234430e92b72a7e4e314bb10955de8a2e3eb25290acc",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 2",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855#code"
},
{
"name": "MigrationManager",
"isVerified": true,
"address": "eth:0x417d01B64Ea30C4E163873f3a1f77b727c689e02",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x263b251D67BB154DD6b8352539466ACE7948ED56"
],
"implementations": [
"eth:0xC6dD6399eAE419A0a33A8dc307f4c1dB26D30e45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xe7bb72352b7a946e63626c8facddd751a5c413b1f8e617bc03972e29c79f7066",
"implementations": [
"eth:0xC6dD6399eAE419A0a33A8dc307f4c1dB26D30e45"
]
}
],
"description": "Helper contract for the vaultBridge tokens on Layer 2. If any vbTokens are minted 'natively' on Layer 2, this contract can receive the underlying assets and lock them in the Layer 1 vaults.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Labs Engineering/Security Multisig",
"upgradableBy": [
{
"name": "Polygon Labs Engineering/Security Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x417d01B64Ea30C4E163873f3a1f77b727c689e02#code"
},
{
"name": "vbUSDC",
"isVerified": true,
"address": "eth:0x53E82ABbb12638F09d9e624578ccB666217a765e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8970650CF3f1E57cA804C65B4DBcFf698789FE30"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xba1f13977401e784b36c67323c10a86828a2ba7dacce1c84be247bb3964a0aeb",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 3",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53E82ABbb12638F09d9e624578ccB666217a765e#code"
},
{
"name": "vbUSDT",
"isVerified": true,
"address": "eth:0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x377a9e5df2882DC1DF8A0bD162cbc640eA634010"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xe5faaacdd7685d1b7fb939c740c7830a0fd07a48a7dc4495a3862e2a9cbff0cd",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 1",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x14Be6579A41342ca6B402ec85E7be538e6Ade951",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x14Be6579A41342ca6B402ec85E7be538e6Ade951#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Polygon Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x263b251D67BB154DD6b8352539466ACE7948ED56",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Polygon Labs Engineering/Security Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x263b251D67BB154DD6b8352539466ACE7948ED56#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x377a9e5df2882DC1DF8A0bD162cbc640eA634010",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x377a9e5df2882DC1DF8A0bD162cbc640eA634010#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Polygon Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d0ff67fb427422AfF35EEa8596949B374b09a52#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8970650CF3f1E57cA804C65B4DBcFf698789FE30",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8970650CF3f1E57cA804C65B4DBcFf698789FE30#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D",
"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/0xA7A26BbA1191a064637d7B0b23896589F4e4d22D#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xaA8a62563CFe4E36118ED479B5486F503b438376",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaA8a62563CFe4E36118ED479B5486F503b438376#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"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 Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb41151Bf2B989d3771caBd5BCb5C435949543322#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xD1e389c046FB734D2a0c7C390312210c408ba832",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1e389c046FB734D2a0c7C390312210c408ba832#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "340282366920938463463374607431768211455"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client. Data availability layer is set to Ethereum blobs.",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x00987c64e3710bc9ab5f3a93f3f1249be821b1a6eedb14dbc1ae2d6fc4fd9337"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks. Data availability layer is set to Ethereum blobs.",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x05f486d43f4066c24b8652cd52e122df59f0ea4c33c0df8155dc58de37f93330"
},
{
"title": "Aggchain program of agglayer v1.1.2",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.1.2/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.1.2`. Commit hash should be `f8580024d771580217ded443f85e42919d682595`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n4. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n5. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/elf/riscv32im-succinct-zkvm-elf` using SP1 toolchain, e.g. by this simple rust script:\n\n```\nuse sp1_sdk::{HashableKey, Prover, CpuProver};\n\nfn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n}\n```\n ",
"hash": "0x713f8a687452545141b6cd852472c67742a5c61474b97a136d0d107804affa1f"
},
{
"title": "Aggchain program of agglayer v1.5.0",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.5.0/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.5.0`. Commit hash should be `347a140649383d8f5aa5a14907a45cfa756426af`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n4. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/elf/riscv32im-succinct-zkvm-elf` using SP1 toolchain, e.g. by this simple rust script:\n\n```\nuse sp1_sdk::{HashableKey, Prover, CpuProver};\n\nfn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n}\n```\n ",
"hash": "0x374ee73950cdb07d1b8779d90a8467df232639c13f9536b03f1ba76a2aa5dac6"
},
{
"title": "Aggchain program of agglayer v1.8.0",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.8.0/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n\n Verify:\n \n 1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.8.0`. Commit hash should be `df2e48ad8432a863bdc0a939108d37a69f4bea4e`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n 4. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/elf/riscv32im-succinct-zkvm-elf` using SP1 toolchain, e.g. by this simple rust script:\n \n ```\n use sp1_sdk::{HashableKey, Prover, CpuProver};\n \n fn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n }\n ```\n ",
"hash": "0x6e38caa6114ac4b9779f647547de9e8f09e9f5cd6194e7134110760d3aa31b53"
},
{
"title": "Aggchain program of agglayer v1.9.2",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.9.2/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.9.2`. Commit hash should be `191952ce5551badd578063e475f9a4f3c5a9b0f4`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n4. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/target/elf-compilation/docker/riscv32im-succinct-zkvm-elf/release/aggchain-proof-program` using SP1 toolchain, e.g. by this simple rust script:\n\n```\nuse sp1_sdk::{HashableKey, Prover, CpuProver};\n\nfn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n}\n```\n ",
"hash": "0x7767a8330ce68dac35265ba15d9eec6722b943cf00dc3b733779e1ae55696f70"
},
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the contracts or their dependencies (e.g. AggLayerGateway) receive a malicious code upgrade. There is no delay on upgrades."
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
]
}
+4 -4
+2 -2
{
"arbitrum": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [
{
"id": "Guardian",
"name": "Guardian",
"description": "Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless).",
"accounts": [
{
"address": "eth:0x3de211088dF516da72efe68D386b561BEE256Ec4",
"type": "Contract",
"isVerified": true,
"name": "KromaSecurityCouncil",
"url": "#KromaSecurityCouncil"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Allowed to commit transactions from the current layer to the host chain.",
"accounts": [
{
"address": "eth:0x41b8cD6791De4D8f9E0eaF7861aC506822AdcE12",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "SecurityCouncilTokenOwners",
"name": "SecurityCouncilTokenOwners",
"accounts": [
{
"address": "eth:0xe4D08346609055c091D3DEECdAAd3Bf83119B08c",
"type": "Contract",
"isVerified": true,
"name": "0xe4D0…B08c",
"url": "https://etherscan.io/address/0xe4D08346609055c091D3DEECdAAd3Bf83119B08c"
}
],
"chain": "ethereum",
"description": "A soulbound token implementation to identify participants of the KromaSecurityCouncil. Owners of the token are members of the council. There are currently 10 members.\n* Can upgrade **with no delay**\n * ZKProofVerifier [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * L2OutputOracle [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * Timelock [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * ValidatorManager [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * KromaPortal [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * SystemConfig [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * KromaSecurityCouncil [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * L1CrossDomainMessenger [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * L1ERC721Bridge [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * ZkVerifier [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * Colosseum [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * USDCBridge [via: UpgradeGovernor → Timelock]\n * L1StandardBridge [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * AssetManager [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * UpgradeGovernor [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * SecurityCouncilTokenOwners [via: UpgradeGovernor → Timelock → ProxyAdmin]\n * ValidatorPool [via: UpgradeGovernor → Timelock → ProxyAdmin]\n* Can interact with Timelock\n * cancel queued transactions [via: UpgradeGovernor]\n * execute transactions that are ready [via: UpgradeGovernor]\n * manage all access control roles and change the minimum delay [via: UpgradeGovernor → Timelock - or UpgradeGovernor]\n * propose transactions [via: UpgradeGovernor]\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system [via: UpgradeGovernor → Timelock]",
"discoveryDrivenData": true
},
{
"id": "KromaSecurityCouncil",
"name": "KromaSecurityCouncil",
"accounts": [
{
"address": "eth:0x3de211088dF516da72efe68D386b561BEE256Ec4",
"type": "Contract",
"isVerified": true,
"name": "0x3de2…6Ec4",
"url": "https://etherscan.io/address/0x3de211088dF516da72efe68D386b561BEE256Ec4"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Announcing Kroma Security Council",
"url": "https://blog.kroma.network/announcing-kroma-security-council-435b540d2ab4"
}
],
"description": "Custom Multisig contract in which each signer is identified by a token. The threshold is 8 and the token contract is called SecurityCouncilToken.\n* Can interact with Colosseum\n * dismiss ongoing challenges and override state roots (`forceDeleteOutput()`) \n* Can interact with ValidatorPool\n * become a validator without posting a bond \n* A Guardian - acting directly",
"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": "Kroma Multisig",
"name": "Kroma Multisig",
"description": "A Multisig with 3/5 threshold. \nEscrows a pool of KRO used as validator rewards by the AssetManager.\n",
"accounts": [
{
"address": "eth:0xe57E217d8ed498992452791622711B866403E950",
"type": "Contract",
"isVerified": true,
"name": "0xe57E…E950",
"url": "https://etherscan.io/address/0xe57E217d8ed498992452791622711B866403E950"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x547fc089E9f2971d27b9780214ED891F6d154faa",
"type": "EOA",
"isVerified": true,
"name": "0x547f…4faa",
"url": "https://etherscan.io/address/0x547fc089E9f2971d27b9780214ED891F6d154faa"
},
{
"address": "eth:0x138AAFab6Dc4Fd30957da1Bbded441ABF9Ccb848",
"type": "EOA",
"isVerified": true,
"name": "0x138A…b848",
"url": "https://etherscan.io/address/0x138AAFab6Dc4Fd30957da1Bbded441ABF9Ccb848"
},
{
"address": "eth:0xc0ab283E81aE99197Cfe1C8BEE9C593CD4FF7FB3",
"type": "EOA",
"isVerified": true,
"name": "0xc0ab…7FB3",
"url": "https://etherscan.io/address/0xc0ab283E81aE99197Cfe1C8BEE9C593CD4FF7FB3"
},
{
"address": "eth:0xF5624B7E74C4Ed876C9793C7895184747a8D2310",
"type": "EOA",
"isVerified": true,
"name": "0xF562…2310",
"url": "https://etherscan.io/address/0xF5624B7E74C4Ed876C9793C7895184747a8D2310"
},
{
"address": "eth:0xEEE06120a1861102D69Aa69535091a8FE72D9e43",
"type": "EOA",
"isVerified": true,
"name": "0xEEE0…9e43",
"url": "https://etherscan.io/address/0xEEE06120a1861102D69Aa69535091a8FE72D9e43"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x41b8cD6791De4D8f9E0eaF7861aC506822AdcE12",
"type": "EOA",
"isVerified": true,
"name": "0x41b8…cE12",
"url": "https://etherscan.io/address/0x41b8cD6791De4D8f9E0eaF7861aC506822AdcE12"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-3,-EOA-4,-KromaOperator,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9-and-EOA-10",
"name": "EOA 2, EOA 3, EOA 4, KromaOperator, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9 and EOA 10",
"accounts": [
{
"address": "eth:0x16876e5c608cec36968517A9Eb345269D308D94a",
"type": "EOA",
"isVerified": true,
"name": "0x1687…D94a",
"url": "https://etherscan.io/address/0x16876e5c608cec36968517A9Eb345269D308D94a"
},
{
"address": "eth:0x27EFE61C5266e461995141f57b4D13F13c83f786",
"type": "EOA",
"isVerified": true,
"name": "0x27EF…f786",
"url": "https://etherscan.io/address/0x27EFE61C5266e461995141f57b4D13F13c83f786"
},
{
"address": "eth:0x3a4F65D1ACFb2A3F5AD93ef7b240bfa1079052e0",
"type": "EOA",
"isVerified": true,
"name": "0x3a4F…52e0",
"url": "https://etherscan.io/address/0x3a4F65D1ACFb2A3F5AD93ef7b240bfa1079052e0"
},
{
"address": "eth:0x3aa00bb915A8e78b0523E4c365e3E70A19d329e6",
"type": "EOA",
"isVerified": true,
"name": "0x3aa0…29e6",
"url": "https://etherscan.io/address/0x3aa00bb915A8e78b0523E4c365e3E70A19d329e6"
},
{
"address": "eth:0x42a4f1958A5d99A62C50eb24a80d1D8b142ea3A1",
"type": "EOA",
"isVerified": true,
"name": "0x42a4…a3A1",
"url": "https://etherscan.io/address/0x42a4f1958A5d99A62C50eb24a80d1D8b142ea3A1"
},
{
"address": "eth:0x5ddcf494A8b6EeE4904934E829109cCF584EAF80",
"type": "EOA",
"isVerified": true,
"name": "0x5ddc…AF80",
"url": "https://etherscan.io/address/0x5ddcf494A8b6EeE4904934E829109cCF584EAF80"
},
{
"address": "eth:0x66FA82F4AEA284d1d208437F179dFE13d8118f3A",
"type": "EOA",
"isVerified": true,
"name": "0x66FA…8f3A",
"url": "https://etherscan.io/address/0x66FA82F4AEA284d1d208437F179dFE13d8118f3A"
},
{
"address": "eth:0x77Fe100758c5320cdfBb4f4a0Bed57885c97158A",
"type": "EOA",
"isVerified": true,
"name": "0x77Fe…158A",
"url": "https://etherscan.io/address/0x77Fe100758c5320cdfBb4f4a0Bed57885c97158A"
},
{
"address": "eth:0x8ECF028Cd647379E580DaA6701A11154750fcd3c",
"type": "EOA",
"isVerified": true,
"name": "0x8ECF…cd3c",
"url": "https://etherscan.io/address/0x8ECF028Cd647379E580DaA6701A11154750fcd3c"
},
{
"address": "eth:0xD417Ff17bf3cFD7260a4De20C6864090aA0503cC",
"type": "EOA",
"isVerified": true,
"name": "0xD417…03cC",
"url": "https://etherscan.io/address/0xD417Ff17bf3cFD7260a4De20C6864090aA0503cC"
}
],
"chain": "ethereum",
"description": "* Can interact with SecurityCouncilTokenOwners\n * one of the signers of the KromaSecurityCouncil ",
"discoveryDrivenData": true
}
]
}
}
+2 -2
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x3971EB866AA9b2b8aFEa8a7C816F3b7e8b195a35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x2af8a383C395EBa6551E674EeD02344936fE36f5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880903,
"transactionHash": "0x3dcaff162fff51f2f6ba6264967bb5a3e6e9aefeb290b159109038ae38455e10",
"implementations": [
"eth:0x2af8a383C395EBa6551E674EeD02344936fE36f5"
]
}
],
"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 SecurityCouncilTokenOwners\n * **batcherHash**: EOA 1\n * **owner**: Timelock; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3971EB866AA9b2b8aFEa8a7C816F3b7e8b195a35#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x46B8bB4C5dd27bB42807Db477af4d1a7C8A5B746",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x675924D68200F2C967Ba12349d5d510676C7214c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880687,
"transactionHash": "0xc077167cfc27b631ad397c64fd72bcaf2c8fcc7c9f08498eb247abc0094354a5",
"implementations": [
"eth:0x675924D68200F2C967Ba12349d5d510676C7214c"
]
}
],
"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 SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x46B8bB4C5dd27bB42807Db477af4d1a7C8A5B746#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x46d07221dfC313afe1BF104F4bB1f185301D65B9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0xbB1cDB5Cc35B1c9801DA8772aCBcDbd323A912D9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693288091,
"transactionHash": "0xb5f090dda7636b95e017de8e0619fc4d6f706b7b4a2a9bbd07996bd85ef70bad",
"implementations": [
"eth:0x0257e4d92C00C9EfcCa1d641b224d7d09cfa4522"
]
},
{
"timestamp": 1693880735,
"transactionHash": "0x2aaca06bcfebdfe7511fe20033c1af5dd9c4cae053340995621ce10da29392ec",
"implementations": [
"eth:0xbB1cDB5Cc35B1c9801DA8772aCBcDbd323A912D9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x46d07221dfC313afe1BF104F4bB1f185301D65B9#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x827962404D7104202C5aaa6b929115C8211d9596",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x404133EdF24F56b7dD9c6d89Fb56bb35244461B4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880711,
"transactionHash": "0xe67e8f042d304b70f1fd718343378219e0be9c49ed4a8242f8f96ea9ced2c0fd",
"implementations": [
"eth:0x404133EdF24F56b7dD9c6d89Fb56bb35244461B4"
]
}
],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x827962404D7104202C5aaa6b929115C8211d9596#code"
},
{
"name": "ZKProofVerifier",
"isVerified": true,
"address": "eth:0x005DDC466C804c79adB079c120347dDE48132105",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x9f2Ec7196596581806218D3D183581b00e5a444E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739162903,
"transactionHash": "0x78625237350cb2047aa1ec6392d2402dabf1a5d44d54e0142ae27d19546c8c74",
"implementations": [
"eth:0x9f2Ec7196596581806218D3D183581b00e5a444E"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x005DDC466C804c79adB079c120347dDE48132105#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x180c77aE51a9c505a43A2C7D81f8CE70cacb93A6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x4B68F22d96a04F6d80e284C20A648f8Da2fD569b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880807,
"transactionHash": "0xf1ce5facb5ac6b858552c8af4867797e1c69ad89629f1c836b7f489770683783",
"implementations": [
"eth:0x14126FFa3889a026A79F0f99FaE80B3dc9E38095"
]
},
{
"timestamp": 1729744127,
"transactionHash": "0xb2a500d332d7b3348b8ffa91aba9b8a5a3bc018b44225a1b6e99605c56c6564e",
"implementations": [
"eth:0x4B68F22d96a04F6d80e284C20A648f8Da2fD569b"
]
}
],
"description": "The L2OutputOracle contract contains a list of proposed state roots which Proposers assert to be a result of block execution. Anyone can participate as a Proposer by depositing in the ValidatorPool. A root can be proposed every 1800 blocks (2s block time).\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x180c77aE51a9c505a43A2C7D81f8CE70cacb93A6#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0x22605A12cB77Fe420B0cC1263cEb58a77352FDc1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0xe44da6e9fA92E3FD897Da84d38fa6B9322Dd22c3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693881035,
"transactionHash": "0xc92251d7f8a454b533f0e272ba324cb7572ca4142aabf17cd29821e1d8ebfe1b",
"implementations": [
"eth:0x595E1b330892Fcbf18b2BF099DE501Ad4d6A07C4"
]
},
{
"timestamp": 1700638271,
"transactionHash": "0xf4e23f51e23f9549e6bed354f5330524c65d5796b765bd38fdacdb6758e7f8ff",
"implementations": [
"eth:0xe44da6e9fA92E3FD897Da84d38fa6B9322Dd22c3"
]
}
],
"description": "A standard timelock with access control. The current minimum delay is 0s.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners\n * **canceller**: UpgradeGovernor; ultimately SecurityCouncilTokenOwners\n * **executor**: UpgradeGovernor; ultimately SecurityCouncilTokenOwners\n * **proposer**: UpgradeGovernor; ultimately SecurityCouncilTokenOwners\n * **timelockAdmin**: Timelock, UpgradeGovernor; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x22605A12cB77Fe420B0cC1263cEb58a77352FDc1#code"
},
{
"name": "ValidatorManager",
"isVerified": true,
"address": "eth:0x232277d9672eEdd53c4B26C0F386C2Eb88DC7363",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x8687b9ecD75ea00997a999B9DdE54C735DE9DEE1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729744127,
"transactionHash": "0xb2a500d332d7b3348b8ffa91aba9b8a5a3bc018b44225a1b6e99605c56c6564e",
"implementations": [
"eth:0x0Ed7bb332F7307F5c97E566E74A4A73ab6671082"
]
},
{
"timestamp": 1739162903,
"transactionHash": "0x78625237350cb2047aa1ec6392d2402dabf1a5d44d54e0142ae27d19546c8c74",
"implementations": [
"eth:0x8687b9ecD75ea00997a999B9DdE54C735DE9DEE1"
]
}
],
"description": "Manages the set of Proposers (Validators in Kroma) and selects the next proposer with the window to submit the output root within 30m, after which anyone can propose for them. It is also the entry point for other contracts, such as the L2OutputOracle and the Colosseum, which distribute output rewards and slash challenge losers. It makes successive calls to the AssetManager to apply changes to the proposers' assets.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x232277d9672eEdd53c4B26C0F386C2Eb88DC7363#code"
},
{
"name": "KromaPortal",
"isVerified": true,
"address": "eth:0x31F648572b67e60Ec6eb8E197E1848CC5F5558de",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x5C8eE8323a33ebBF3ea3c6c3b84DACFca44A9316"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880879,
"transactionHash": "0x3166f6173eb630e96f74c5c9d6765cd93e39566dc592a423fddae11eb09f8d17",
"implementations": [
"eth:0x381F53695230BAF83a39D1a08304D233A35730Fa"
]
},
{
"timestamp": 1739162903,
"transactionHash": "0x78625237350cb2047aa1ec6392d2402dabf1a5d44d54e0142ae27d19546c8c74",
"implementations": [
"eth:0x5C8eE8323a33ebBF3ea3c6c3b84DACFca44A9316"
]
}
],
"description": "This is a fork of the standard OP stack OptimismPortal contract, the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners\n * **guardian**: KromaSecurityCouncil",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31F648572b67e60Ec6eb8E197E1848CC5F5558de#code"
},
{
"name": "ZKMerkleTrie",
"isVerified": true,
"address": "eth:0x339208824010425cBE73201ceD4372308ACD610B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Merkle Trie contract used to prove withdrawals that were initiated in the legacy system, deprecated for new withdrawals and succeeded by a merkle tree library in the KromaPortal.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x339208824010425cBE73201ceD4372308ACD610B#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x665c23A5722B6A237fa6Be2B49c0A94504db1edd#code"
},
{
"name": "ZkVerifier",
"isVerified": true,
"address": "eth:0x6deb6a630D7b486c1C08d4016AEe3835a2F52Fa7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x4cd05aB629055a449617a28E3466660403eA7126"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693288163,
"transactionHash": "0x6ab34004b7846a1d1406bc53825ee386d905f8499c72ab9bfe07f4721d773ae9",
"implementations": [
"eth:0xD3b1D396330EA8dd79615f12433B856160d7D8B4"
]
},
{
"timestamp": 1693539719,
"transactionHash": "0x66fecb7dffc867d91d6f840e65fc28f81ad1301204cfca38b3bbb22146ffa361",
"implementations": [
"eth:0x7E79726560B140fd6e089547bD049509F5423BFf"
]
},
{
"timestamp": 1718950391,
"transactionHash": "0xe56ba658fc810d727438e3bb124aa2e8ef1c25e5c21cbfe9715983ba5ce65a63",
"implementations": [
"eth:0x4cd05aB629055a449617a28E3466660403eA7126"
]
}
],
"description": "ZK verifier used to verify the last step of a legacy zkEVM proof, which corresponds to a block.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6deb6a630D7b486c1C08d4016AEe3835a2F52Fa7#code"
},
{
"name": "Colosseum",
"isVerified": true,
"address": "eth:0x713C2BEd44eB45D490afB8D4d1aA6F12290B829a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0xBFcA810D1c26a3aC6F81a32Ab5C023F24bE93dAC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880831,
"transactionHash": "0x70494d42df3a5668be6ac9bd1a46cdcfebe8980cae31dddcb7ec86c97200d60f",
"implementations": [
"eth:0x7526F997ea040B3949415c3a44e708273863AA2b"
]
},
{
"timestamp": 1712304899,
"transactionHash": "0xd420f3a8af8254ca1095409b3c4c2a3a1faa26fbe50c0477663e1bcb39727dfc",
"implementations": [
"eth:0x311b4A33b6dC4e080eE0d98caAaf8dF86C833066"
]
},
{
"timestamp": 1714032551,
"transactionHash": "0x0fb2eca6483b1d042af562bf0e8e804c1356df56d7b8094e9d6edd4b63edf715",
"implementations": [
"eth:0xb87eaB624EE684C1799f1E8b24936A1c90759eEc"
]
},
{
"timestamp": 1729744127,
"transactionHash": "0xb2a500d332d7b3348b8ffa91aba9b8a5a3bc018b44225a1b6e99605c56c6564e",
"implementations": [
"eth:0xAB54b3e775f645cf4486039bfA4dA539E70c9f99"
]
},
{
"timestamp": 1739162903,
"transactionHash": "0x78625237350cb2047aa1ec6392d2402dabf1a5d44d54e0142ae27d19546c8c74",
"implementations": [
"eth:0xBFcA810D1c26a3aC6F81a32Ab5C023F24bE93dAC"
]
}
],
"description": "Contract used to challenge state roots and prove fraud. If successful, the wrong state root in the L2OutputOracle is replaced.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners\n * **security_council**: KromaSecurityCouncil",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x713C2BEd44eB45D490afB8D4d1aA6F12290B829a#code"
},
{
"name": "USDCBridge",
"isVerified": true,
"address": "eth:0x7e1Bdb9ee75B6ef1BCAAE3B1De1c616C7B11ef6e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22605A12cB77Fe420B0cC1263cEb58a77352FDc1"
],
"implementations": [
"eth:0xE4e9F3AD8A6F224c4b39854D3550AD258441AfE3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700122631,
"transactionHash": "0x04a7ec0dad1a7a0ebf4cb2bd1f983b19d43e57972e91c4e73aabf2bff3530014",
"implementations": [
"eth:0xE4e9F3AD8A6F224c4b39854D3550AD258441AfE3"
]
}
],
"description": "* Roles:\n * **admin**: Timelock; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7e1Bdb9ee75B6ef1BCAAE3B1De1c616C7B11ef6e#code"
},
{
"name": "AssetManager",
"isVerified": true,
"address": "eth:0xa295310DE52b86F236A815AFb2f518F3C0F5A6D3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0xf34fa8D3ac4AAcAD8307da8C8E51bDddCDa60Ede"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729744127,
"transactionHash": "0xb2a500d332d7b3348b8ffa91aba9b8a5a3bc018b44225a1b6e99605c56c6564e",
"implementations": [
"eth:0xf34fa8D3ac4AAcAD8307da8C8E51bDddCDa60Ede"
]
}
],
"description": "Manages the delegation and undelegation of KRO tokens and Kroma Guardian House (KGH) NFTs for Proposers (Kroma Validators) and distributes rewards.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa295310DE52b86F236A815AFb2f518F3C0F5A6D3#code"
},
{
"name": "UpgradeGovernor",
"isVerified": true,
"address": "eth:0xb3c415c2Aad428D5570208e1772cb68e7D06a537",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x64F8F4EB207D51F74caf6db644Bf710Ad86989b3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693881059,
"transactionHash": "0x1474ff104cbd078775403ee9b33a18394d045e5e00e03e94586e73a3596cbde0",
"implementations": [
"eth:0x2a51e099CC7AF922CcDe7F3db909DC7b71B8D030"
]
},
{
"timestamp": 1700638271,
"transactionHash": "0xf4e23f51e23f9549e6bed354f5330524c65d5796b765bd38fdacdb6758e7f8ff",
"implementations": [
"eth:0x64F8F4EB207D51F74caf6db644Bf710Ad86989b3"
]
}
],
"description": "A governance proxy contract using token voting with SecurityCouncilTokenOwners as identification of actors allowed to vote/sign a proposal which is passed to the Timelock afterwards.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners\n * **token**: SecurityCouncilTokenOwners",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb3c415c2Aad428D5570208e1772cb68e7D06a537#code"
},
{
"name": "ValidatorPool",
"isVerified": true,
"address": "eth:0xFdFF462845953D90719A78Fd12a2d103541d2103",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0xE36776FFA20a9206dcD742C981402a3f3d81938d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880783,
"transactionHash": "0x31c5282eb4cc1bcf3b3a3fbbbb0116c0ee335b4ccabd497f02b2761b0bc65dbd",
"implementations": [
"eth:0x6e1781678ffE6CDc109fd3bC0833c47BD0F23de1"
]
},
{
"timestamp": 1700638271,
"transactionHash": "0xf4e23f51e23f9549e6bed354f5330524c65d5796b765bd38fdacdb6758e7f8ff",
"implementations": [
"eth:0x3eb033BAc5c449bDcb6D082c4f728eDAfC8D75fa"
]
},
{
"timestamp": 1712304899,
"transactionHash": "0xd420f3a8af8254ca1095409b3c4c2a3a1faa26fbe50c0477663e1bcb39727dfc",
"implementations": [
"eth:0x8EDc4cCa2aF96f5D5141d55333043a65c3f59Ec4"
]
},
{
"timestamp": 1729744127,
"transactionHash": "0xb2a500d332d7b3348b8ffa91aba9b8a5a3bc018b44225a1b6e99605c56c6564e",
"implementations": [
"eth:0xE36776FFA20a9206dcD742C981402a3f3d81938d"
]
}
],
"description": "Contract used to manage the Proposers. Anyone can submit a deposit and bond to a state root, or create a challenge. It also manages the Proposer rotation for each submittable block using a random selection. If the selected proposer fails to publish a root within 30m then the submission becomes open to everyone.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SecurityCouncilTokenOwners\n * **security_council**: KromaSecurityCouncil",
"upgradableBy": [
{
"name": "SecurityCouncilTokenOwners",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFdFF462845953D90719A78Fd12a2d103541d2103#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": "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": "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"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
]
},
"escrows": [
{
"address": "0x31F648572b67e60Ec6eb8E197E1848CC5F5558de",
"sinceTimestamp": 1693880555,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x31F648572b67e60Ec6eb8E197E1848CC5F5558de",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x5C8eE8323a33ebBF3ea3c6c3b84DACFca44A9316"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880879,
"transactionHash": "0x3166f6173eb630e96f74c5c9d6765cd93e39566dc592a423fddae11eb09f8d17",
"implementations": [
"eth:0x381F53695230BAF83a39D1a08304D233A35730Fa"
]
},
{
"timestamp": 1739162903,
"transactionHash": "0x78625237350cb2047aa1ec6392d2402dabf1a5d44d54e0142ae27d19546c8c74",
"implementations": [
"eth:0x5C8eE8323a33ebBF3ea3c6c3b84DACFca44A9316"
]
}
],
"description": "Main entry point for users depositing ETH.",
"url": "https://etherscan.io/address/0x31F648572b67e60Ec6eb8E197E1848CC5F5558de#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x827962404D7104202C5aaa6b929115C8211d9596",
"sinceTimestamp": 1693880555,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x827962404D7104202C5aaa6b929115C8211d9596",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x665c23A5722B6A237fa6Be2B49c0A94504db1edd"
],
"implementations": [
"eth:0x404133EdF24F56b7dD9c6d89Fb56bb35244461B4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1693880711,
"transactionHash": "0xe67e8f042d304b70f1fd718343378219e0be9c49ed4a8242f8f96ea9ced2c0fd",
"implementations": [
"eth:0x404133EdF24F56b7dD9c6d89Fb56bb35244461B4"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that do not require custom gateway.",
"url": "https://etherscan.io/address/0x827962404D7104202C5aaa6b929115C8211d9596#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x7e1Bdb9ee75B6ef1BCAAE3B1De1c616C7B11ef6e",
"sinceTimestamp": 1700122827,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0x7e1Bdb9ee75B6ef1BCAAE3B1De1c616C7B11ef6e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22605A12cB77Fe420B0cC1263cEb58a77352FDc1"
],
"implementations": [
"eth:0xE4e9F3AD8A6F224c4b39854D3550AD258441AfE3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700122631,
"transactionHash": "0x04a7ec0dad1a7a0ebf4cb2bd1f983b19d43e57972e91c4e73aabf2bff3530014",
"implementations": [
"eth:0xE4e9F3AD8A6F224c4b39854D3550AD258441AfE3"
]
}
],
"description": "Main entry point for users depositing USDC.",
"url": "https://etherscan.io/address/0x7e1Bdb9ee75B6ef1BCAAE3B1De1c616C7B11ef6e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x742A28e22277945BBAAa34810393bf6e8512576C",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744397327,
"transactionHash": "0xe2beab76f0b037d55d5bb75beca94db53fce7655340bf463e2f884aa600780fd",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1744397327,
"transactionHash": "0xe2beab76f0b037d55d5bb75beca94db53fce7655340bf463e2f884aa600780fd",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1744397327,
"transactionHash": "0xe2beab76f0b037d55d5bb75beca94db53fce7655340bf463e2f884aa600780fd",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1748357435,
"transactionHash": "0x41608f3a9087d7437d7bfd8ef533217782493c95d5fa43762e45e4498bd05e21",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1752346379,
"transactionHash": "0x36697c871bb555b46ae5ca1aff3370b229c719fe883cf56edd1749c8ca4b3913",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdminOwnable; ultimately Safe\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x742A28e22277945BBAAa34810393bf6e8512576C#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0xc4F79BAb04664229eAEf3dBbc528Dd982df81EdD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Safe act through it.\n* Roles:\n * **owner**: Safe\n * **tokenMultiplierSetter**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4F79BAb04664229eAEf3dBbc528Dd982df81EdD#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x53F5DE9De3B2DA90633a2c74BEb3b9912cdd1579",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53F5DE9De3B2DA90633a2c74BEb3b9912cdd1579#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x5BAfEF6729228add8775aF4Cecd2E68a51424Ee1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5BAfEF6729228add8775aF4Cecd2E68a51424Ee1#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xD5dBE903F5382B052317D326FA1a7B63710C6a5b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD5dBE903F5382B052317D326FA1a7B63710C6a5b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.28.0",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.28.0/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.28.0`. Commit hash should be `cfd77cb6bc9ab3d751d42c6161f1b393a9c51647`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x0100085f9382a7928dd83bfc529121827b5f29f18b9aa10d18aa68e1be7ddc35"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x2297eB8DC91f532C91c57b3fb33C06b782e9594A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x850DFdB4035db757e49eCF997ef051290959167A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347603,
"transactionHash": "0x70d369e3fbd262bd7e466c0aeaadcc797f5e3ce3ee851e8b10971a3bfc0f977f",
"implementations": [
"eth:0x850DFdB4035db757e49eCF997ef051290959167A"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **challenger**: EOA 2\n * **proposer**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2297eB8DC91f532C91c57b3fb33C06b782e9594A#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x7288e508f56c1b4b52D2e4Fd3688a711c7cE0054",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x5865A0BCf08dd24A0691Dc746F181EDc6821bea9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347663,
"transactionHash": "0x4bfec2bbdbd904e8a9551fd48b57d86712c1d897293ed0b516692447f06088d4",
"implementations": [
"eth:0x5865A0BCf08dd24A0691Dc746F181EDc6821bea9"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **guardian**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7288e508f56c1b4b52D2e4Fd3688a711c7cE0054#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xae809d42f861A6381b0DFCf7216556e95362a7a8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x781dAB53cC9d9870a96A84f4AE3130c084a2fAfD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347447,
"transactionHash": "0x4953e405f93b89a4589bd976cce5cc8a2a169c63549c25876b8dd155871528d3",
"implementations": [
"eth:0x781dAB53cC9d9870a96A84f4AE3130c084a2fAfD"
]
}
],
"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 EOA 1\n * **batcherHash**: EOA 4\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xae809d42f861A6381b0DFCf7216556e95362a7a8#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x01Cf2c778E56360dCd5e1396373c0Aa6ae794E2c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x527021A71d6E76Bb4243A0BabAd4e160245b8aAE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347063,
"transactionHash": "0x1a3991338cc400337c14a34162b90b43413291541b5ceb1e189223ecf4d99819",
"implementations": [
"eth:0x527021A71d6E76Bb4243A0BabAd4e160245b8aAE"
]
}
],
"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 EOA 1\n * **guardian**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x01Cf2c778E56360dCd5e1396373c0Aa6ae794E2c#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x78B5818884929d7A930edADD03a0fCD9Dd068EB7",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x26B5810033fd2380c87F9E22CC20101778b5F584"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347567,
"transactionHash": "0x9bbb2552612e752f5ef45723425a876493354c383f84e1fa62739427379af625",
"implementations": [
"eth:0x26B5810033fd2380c87F9E22CC20101778b5F584"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x78B5818884929d7A930edADD03a0fCD9Dd068EB7#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x8334f9A70294556101527bfB9bdEdeF7EB382D94",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x5121000767198Ad7D60fe8e47458F556B7B51aa0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347483,
"transactionHash": "0xae9a24143ee0e3a2a01293ef4f3a841c22aec6728c705c76938aea840b472796",
"implementations": [
"eth:0x5121000767198Ad7D60fe8e47458F556B7B51aa0"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8334f9A70294556101527bfB9bdEdeF7EB382D94#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xEEBd256da18d0BF20c3CEb785a0946D41A7F408F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x3aF70e7103d29a9466663514DE3C421769b30382"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEEBd256da18d0BF20c3CEb785a0946D41A7F408F#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: GnosisSafe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x5C3D1b1334b6939e6D042BF5E15249cF86A875A4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x4CA20D48C87129Df90A3cAd73000568331548316"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347519,
"transactionHash": "0x4a49658e24a8a7c5cf8fbca0e197eed3cd65bcc4b7f8cfde285b5d8a9cd9e221",
"implementations": [
"eth:0x4CA20D48C87129Df90A3cAd73000568331548316"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C3D1b1334b6939e6D042BF5E15249cF86A875A4#code"
}
]
},
"escrows": [
{
"address": "0x7288e508f56c1b4b52D2e4Fd3688a711c7cE0054",
"sinceTimestamp": 1713347123,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x7288e508f56c1b4b52D2e4Fd3688a711c7cE0054",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x5865A0BCf08dd24A0691Dc746F181EDc6821bea9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713347663,
"transactionHash": "0x4bfec2bbdbd904e8a9551fd48b57d86712c1d897293ed0b516692447f06088d4",
"implementations": [
"eth:0x5865A0BCf08dd24A0691Dc746F181EDc6821bea9"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7288e508f56c1b4b52D2e4Fd3688a711c7cE0054#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xEEBd256da18d0BF20c3CEb785a0946D41A7F408F",
"sinceTimestamp": 1713347147,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xEEBd256da18d0BF20c3CEb785a0946D41A7F408F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x04d59CB8f8b2BAcb8cE6912c284D10e263a0EB9f"
],
"implementations": [
"eth:0x3aF70e7103d29a9466663514DE3C421769b30382"
]
},
"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/0xEEBd256da18d0BF20c3CEb785a0946D41A7F408F#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+10 -4
+2 -2
{
"arbitrum": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [
{
"id": "Validator",
"name": "Validator",
"description": "Permissioned to call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the main Diamond contract.",
"accounts": [
{
"address": "eth:0x3eA4D1684C65756E892b0B8d3e331E10D9d3a484",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0x477c1B7DC1091389CBD3Eef21Efb00081606Ab67",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "EmergencyUpgradeBoard",
"name": "EmergencyUpgradeBoard",
"accounts": [
{
"address": "eth:0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6",
"type": "Contract",
"isVerified": true,
"name": "0xECE8…E3f6",
"url": "https://etherscan.io/address/0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6"
}
],
"chain": "ethereum",
"description": "A custom contract allowing a 3/3 of SecurityCouncil, ZK Foundation Multisig and Guardians to `executeEmergencyUpgrade()` via the ProtocolUpgradeHandler.\n* Can upgrade **with no delay**\n * BridgeHub [via: ProtocolUpgradeHandler → ProxyAdmin]\n * MessageRoot [via: ProtocolUpgradeHandler → ProxyAdmin]\n * CTMDeploymentTracker [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1AssetRouter [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1NativeTokenVault [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainTypeManager [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1Nullifier [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainAssetHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ProtocolUpgradeHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n* Can interact with BridgeHub\n * set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration [via: ProtocolUpgradeHandler]\n* Can interact with L1NativeTokenVault\n * pause / unpause the bridge [via: ProtocolUpgradeHandler]\n* Can interact with ChainTypeManager\n * manage the shared ValidatorTimelock contract address and the admin role, register and execute upgrades (and set their deadlines), freeze, revert batches and set permissioned validators and fee params for all connected chains [via: ProtocolUpgradeHandler]\n* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references [via: ProtocolUpgradeHandler]\n* Can interact with ChainAssetHandler\n * pause, resume chain migrations [via: ProtocolUpgradeHandler]\n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) [via: ProtocolUpgradeHandler]",
"discoveryDrivenData": true
},
{
"id": "Matter Labs Multisig",
"name": "Matter Labs Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: EraChainAdminProxy → ProxyAdmin]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: EraChainAdminProxy]\n* Can interact with ChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: EraChainAdminProxy]",
"accounts": [
{
"address": "eth:0x4e4943346848c4867F81dFb37c4cA9C5715A7828",
"type": "Contract",
"isVerified": true,
"name": "0x4e49…7828",
"url": "https://etherscan.io/address/0x4e4943346848c4867F81dFb37c4cA9C5715A7828"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929",
"type": "EOA",
"isVerified": true,
"name": "0x4A33…C929",
"url": "https://etherscan.io/address/0x4A333c167Ce76C46149c6B0197977ae02aaeC929"
},
{
"address": "eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481",
"type": "EOA",
"isVerified": true,
"name": "0x3F00…c481",
"url": "https://etherscan.io/address/0x3F0009D00cc78979d00Eb635490F23E8d6aCc481"
},
{
"address": "eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1",
"type": "EOA",
"isVerified": true,
"name": "0x5C7E…f1B1",
"url": "https://etherscan.io/address/0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1"
},
{
"address": "eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc",
"type": "EOA",
"isVerified": true,
"name": "0x3068…d2Bc",
"url": "https://etherscan.io/address/0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc"
},
{
"address": "eth:0x702caCafA54B88e9c54449563Fb2e496e85c78b7",
"type": "EOA",
"isVerified": true,
"name": "0x702c…78b7",
"url": "https://etherscan.io/address/0x702caCafA54B88e9c54449563Fb2e496e85c78b7"
},
{
"address": "eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE",
"type": "EOA",
"isVerified": true,
"name": "0xFAdb…79AE",
"url": "https://etherscan.io/address/0xFAdb20191Ab38362C50f52909817B74214CA79AE"
},
{
"address": "eth:0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28",
"type": "EOA",
"isVerified": true,
"name": "0xAf0B…9B28",
"url": "https://etherscan.io/address/0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28"
},
{
"address": "eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7",
"type": "EOA",
"isVerified": true,
"name": "0x7408…70C7",
"url": "https://etherscan.io/address/0x7408A268e5E6e8F08917c5b71015F4B9044970C7"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 1",
"name": "Avail Multisig 1",
"description": "A Multisig with 4/7 threshold. \n* Can upgrade **with no delay**\n * Vector \n* Can upgrade **with 1d delay**\n * AvailBridgeV1 [via: TimelockController with 1d delay → ProxyAdmin]\n* Can interact with Vector\n * can freeze the Vector contract and update the list of authorized relayers \n* Can interact with AvailBridgeV1\n * manage the pauser role and all other access control configurations, set the address of the target contract for DA verification, manage fees **with 1d delay** [via: TimelockController with 1d delay]\n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 1d delay or with no delay** [via: TimelockController with 1d delay - or - acting directly]\n * propose transactions ",
"accounts": [
{
"address": "eth:0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666",
"type": "Contract",
"isVerified": true,
"name": "0x7F2f…3666",
"url": "https://etherscan.io/address/0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x70a4F624A4E62C539abf0002634377b646612b1C",
"type": "EOA",
"isVerified": true,
"name": "0x70a4…2b1C",
"url": "https://etherscan.io/address/0x70a4F624A4E62C539abf0002634377b646612b1C"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
},
{
"address": "eth:0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2",
"type": "EOA",
"isVerified": true,
"name": "0xBe1D…78A2",
"url": "https://etherscan.io/address/0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
}
],
"discoveryDrivenData": true
},
{
"id": "Guardians",
"name": "Guardians",
"description": "A Multisig with 5/8 threshold. \nCustom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.\n* Can interact with ProtocolUpgradeHandler\n * extend the legal veto period, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"type": "Contract",
"isVerified": true,
"name": "0x600d…86b8",
"url": "https://etherscan.io/address/0x600dA620Ab29F41ABC6596a15981e14cE58c86b8"
}
],
"chain": "ethereum",
"references": [
{
"title": "Guardians - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-4-zksync-guardians"
}
],
"participants": [
{
"address": "eth:0x015318c16AE443a20DE0A776dB06a59F0D279057",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x015318c16AE443a20DE0A776dB06a59F0D279057"
},
{
"address": "eth:0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D"
},
{
"address": "eth:0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384"
},
{
"address": "eth:0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f"
},
{
"address": "eth:0x55c671BcE13120387Ded710A1d1b80C0e3d8E857",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x55c671BcE13120387Ded710A1d1b80C0e3d8E857"
},
{
"address": "eth:0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69"
},
{
"address": "eth:0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0"
},
{
"address": "eth:0xCe7a3dFcc35602155809920Ff65e093aa726f6cf",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xCe7a3dFcc35602155809920Ff65e093aa726f6cf"
}
],
"discoveryDrivenData": true
},
{
"id": "SecurityCouncil",
"name": "SecurityCouncil",
"description": "A Multisig with 9/12 threshold. \nCustom Multisig implementation that has a general threshold of 9 but also specific thresholds for upgrade approvals (6) or soft freezes (3).\n* Can interact with ProtocolUpgradeHandler\n * soft freeze, hard freeze, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x66E4431266DC7E04E7d8b7FE9d2181253df7F410",
"type": "Contract",
"isVerified": true,
"name": "0x66E4…F410",
"url": "https://etherscan.io/address/0x66E4431266DC7E04E7d8b7FE9d2181253df7F410"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-3-zksync-security-council"
}
],
"participants": [
{
"address": "eth:0x13f07d9BF17615f6a17F272fe1A913168C275A66",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x13f07d9BF17615f6a17F272fe1A913168C275A66"
},
{
"address": "eth:0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a"
},
{
"address": "eth:0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F"
},
{
"address": "eth:0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F"
},
{
"address": "eth:0x69462a81ba94D64c404575f1899a464F123497A2",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x69462a81ba94D64c404575f1899a464F123497A2"
},
{
"address": "eth:0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A"
},
{
"address": "eth:0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0"
},
{
"address": "eth:0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88"
},
{
"address": "eth:0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803"
},
{
"address": "eth:0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44"
},
{
"address": "eth:0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e"
},
{
"address": "eth:0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231"
}
],
"discoveryDrivenData": true
},
{
"id": "ValidatorTimelock",
"name": "ValidatorTimelock",
"accounts": [
{
"address": "eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776",
"type": "Contract",
"isVerified": true,
"name": "0x2e51…b776",
"url": "https://etherscan.io/address/0x2e5110cF18678Ec99818bFAa849B8C881744b776"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h.\n* Can interact with Diamond\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "Lens Multisig",
"name": "Lens Multisig",
"description": "A Multisig with 2/8 threshold. \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: LensZkEvmAdmin]",
"accounts": [
{
"address": "eth:0x4968A0E4b025eD7d095753E54058377969b41abC",
"type": "Contract",
"isVerified": true,
"name": "0x4968…1abC",
"url": "https://etherscan.io/address/0x4968A0E4b025eD7d095753E54058377969b41abC"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x71910321A1d3b3f743ca52569f5Aa82f09538A2e",
"type": "EOA",
"isVerified": true,
"name": "0x7191…8A2e",
"url": "https://etherscan.io/address/0x71910321A1d3b3f743ca52569f5Aa82f09538A2e"
},
{
"address": "eth:0xfbDF62F0a73DED0BF5A264867cFD022E192B5526",
"type": "EOA",
"isVerified": true,
"name": "0xfbDF…5526",
"url": "https://etherscan.io/address/0xfbDF62F0a73DED0BF5A264867cFD022E192B5526"
},
{
"address": "eth:0x5dc301EcD8Bd7694BB1074B3E58Aa0916EE7887d",
"type": "EOA",
"isVerified": true,
"name": "0x5dc3…887d",
"url": "https://etherscan.io/address/0x5dc301EcD8Bd7694BB1074B3E58Aa0916EE7887d"
},
{
"address": "eth:0x62Ae8d9B6d0D9817bd9D41b9AfEAc301dBa713B8",
"type": "EOA",
"isVerified": true,
"name": "0x62Ae…13B8",
"url": "https://etherscan.io/address/0x62Ae8d9B6d0D9817bd9D41b9AfEAc301dBa713B8"
},
{
"address": "eth:0x2eD1df8F475b1f9c7493fC0eb0BFD4D1FD17f27b",
"type": "EOA",
"isVerified": true,
"name": "0x2eD1…f27b",
"url": "https://etherscan.io/address/0x2eD1df8F475b1f9c7493fC0eb0BFD4D1FD17f27b"
},
{
"address": "eth:0x2a80091816D7872850D500F6Ade835354238Af17",
"type": "EOA",
"isVerified": true,
"name": "0x2a80…Af17",
"url": "https://etherscan.io/address/0x2a80091816D7872850D500F6Ade835354238Af17"
},
{
"address": "eth:0x5063b3D23C3640d51c9E2aef41063B1d482C70ff",
"type": "EOA",
"isVerified": true,
"name": "0x5063…70ff",
"url": "https://etherscan.io/address/0x5063b3D23C3640d51c9E2aef41063B1d482C70ff"
},
{
"address": "eth:0xE0b3Ef5A61324acceE3798B6D9Da5B47b0312b7c",
"type": "EOA",
"isVerified": true,
"name": "0xE0b3…2b7c",
"url": "https://etherscan.io/address/0xE0b3Ef5A61324acceE3798B6D9Da5B47b0312b7c"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 2",
"name": "Avail Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with AvailBridgeV1\n * pause the bridge ",
"accounts": [
{
"address": "eth:0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930",
"type": "Contract",
"isVerified": true,
"name": "0x1a5B…8930",
"url": "https://etherscan.io/address/0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE458b870F2F59a49915591282f1Bb688901767AD",
"type": "EOA",
"isVerified": true,
"name": "0xE458…67AD",
"url": "https://etherscan.io/address/0xE458b870F2F59a49915591282f1Bb688901767AD"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
}
],
"discoveryDrivenData": true
},
{
"id": "ZK Foundation Multisig",
"name": "ZK Foundation Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0xbC1653bd3829dfEc575AfC3816D4899cd103B51c",
"type": "Contract",
"isVerified": true,
"name": "0xbC16…B51c",
"url": "https://etherscan.io/address/0xbC1653bd3829dfEc575AfC3816D4899cd103B51c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52",
"type": "EOA",
"isVerified": true,
"name": "0xA10f…bE52",
"url": "https://etherscan.io/address/0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52"
},
{
"address": "eth:0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222",
"type": "EOA",
"isVerified": true,
"name": "0x56B3…2222",
"url": "https://etherscan.io/address/0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222"
},
{
"address": "eth:0x441e5c8910Ef39996B2D01499509861228cbc2d1",
"type": "EOA",
"isVerified": true,
"name": "0x441e…c2d1",
"url": "https://etherscan.io/address/0x441e5c8910Ef39996B2D01499509861228cbc2d1"
},
{
"address": "eth:0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709",
"type": "EOA",
"isVerified": true,
"name": "0x0B2E…4709",
"url": "https://etherscan.io/address/0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709"
},
{
"address": "eth:0x610e45F112e0c8a9aA7137677C83E7A198A1b991",
"type": "EOA",
"isVerified": true,
"name": "0x610e…b991",
"url": "https://etherscan.io/address/0x610e45F112e0c8a9aA7137677C83E7A198A1b991"
}
],
"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": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0x3eA4D1684C65756E892b0B8d3e331E10D9d3a484",
"type": "EOA",
"isVerified": true,
"name": "0x3eA4…a484",
"url": "https://etherscan.io/address/0x3eA4D1684C65756E892b0B8d3e331E10D9d3a484"
},
{
"address": "eth:0x477c1B7DC1091389CBD3Eef21Efb00081606Ab67",
"type": "EOA",
"isVerified": true,
"name": "0x477c…Ab67",
"url": "https://etherscan.io/address/0x477c1B7DC1091389CBD3Eef21Efb00081606Ab67"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "ProtocolTimelockController(L2->L1)",
"name": "ProtocolTimelockController(L2->L1)",
"accounts": [
{
"address": "eth:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"type": "EOA",
"isVerified": true,
"name": "0x085b…c714",
"url": "https://etherscan.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolUpgradeHandler\n * start (queue) upgrades ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D",
"type": "EOA",
"isVerified": true,
"name": "0x27BF…787D",
"url": "https://etherscan.io/address/0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D"
}
],
"chain": "ethereum",
"description": "* Can interact with Vector\n * it is a ‘Relayer’ and can call commitHeaderRange() to commit block ranges to the Vector contract. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"zksync2": {
"roles": [],
"actors": [
{
"id": "ZkProtocolGovernor",
"name": "ZkProtocolGovernor",
"accounts": [
{
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"type": "Contract",
"isVerified": true,
"name": "0x7670…e34f",
"url": "https://explorer.zksync.io/address/0x76705327e682F2d96943280D99464Ab61219e34f"
}
],
"chain": "zksync2",
"description": "Main Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for protocol upgrade proposals (ZIPs) that start on ZKsync Era, go through Ethereum Layer 1 and can - from there - target all L1 and L2 contracts. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ProtocolTimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles and change the minimum delay [via: ProtocolTimelockController]\n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkTokenGovernor",
"name": "ZkTokenGovernor",
"accounts": [
{
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"type": "Contract",
"isVerified": true,
"name": "0xb83F…5746",
"url": "https://explorer.zksync.io/address/0xb83FF6501214ddF40C91C9565d095400f3F45746"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Token Program Proposals (TPPs) usually targeting the ZK token on ZKsync Era. At least 21M ZK tokens are necessary to start a proposal (for delegates) and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ZkToken\n * grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token **with 3d delay** [via: ZkTokenTimelockController with 3d delay]\n* Can interact with ZkTokenTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: ZkTokenTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkGovOpsGovernor",
"name": "ZkGovOpsGovernor",
"accounts": [
{
"address": "zksync:0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160",
"type": "Contract",
"isVerified": true,
"name": "0xEEEa…b160",
"url": "https://explorer.zksync.io/address/0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Governance Advisory Proposals (GAPs) that are not executable onchain. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with GovOpsTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: GovOpsTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "Guardians_l2Alias",
"name": "Guardians_l2Alias",
"accounts": [
{
"address": "zksync:0x711ea620AB29f41AbC6596a15981e14ce58C97c9",
"type": "EOA",
"isVerified": true,
"name": "0x711e…97c9",
"url": "https://explorer.zksync.io/address/0x711ea620AB29f41AbC6596a15981e14ce58C97c9"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) \n* Can interact with ZkGovOpsGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) ",
"discoveryDrivenData": true
},
{
"id": "ZKFoundationMultisig_l2Alias",
"name": "ZKFoundationMultisig_l2Alias",
"accounts": [
{
"address": "zksync:0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D",
"type": "EOA",
"isVerified": true,
"name": "0xcd27…C62D",
"url": "https://explorer.zksync.io/address/0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * make direct proposals without owning ZK tokens. In propose-guarded mode, this address is the ONLY allowed proposer. Propose-guarded mode is currently set to false ",
"discoveryDrivenData": true
},
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"accounts": [
{
"address": "zksync:0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4",
"type": "EOA",
"isVerified": true,
"name": "0xF41E…6bc4",
"url": "https://explorer.zksync.io/address/0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4"
}
],
"chain": "zksync2",
"description": "* Can upgrade **with no delay**\n * ZkToken [via: ZkTokenProxyAdmin]\n* Can interact with ZkToken\n * control all roles in the ZkToken access control, including the minter roles ",
"discoveryDrivenData": true
}
]
}
}
+8 -2
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0xc29d04A93F893700015138E3E334eB828dAC3cef",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740009695,
"transactionHash": "0x303a3be5647b6474268d2c9bac62d2a4852abe503ad8eb2c71fc85c63881cfbd",
"implementations": [
"eth:0x0665d51e2342F5D5EAEaAaA175C6fdEEf122c542",
"eth:0xff6fb8160DC28260d4027C80eAd7e1eD147c963F",
"eth:0xbE8988304816cbbd36624567AFe1A223DBF58c82",
"eth:0x8480803516B7390Ff9C57eC4dD233B634FB493B8"
]
},
{
"timestamp": 1740009695,
"transactionHash": "0x303a3be5647b6474268d2c9bac62d2a4852abe503ad8eb2c71fc85c63881cfbd",
"implementations": [
"eth:0x0665d51e2342F5D5EAEaAaA175C6fdEEf122c542",
"eth:0xff6fb8160DC28260d4027C80eAd7e1eD147c963F",
"eth:0xbE8988304816cbbd36624567AFe1A223DBF58c82",
"eth:0x8480803516B7390Ff9C57eC4dD233B634FB493B8"
]
},
{
"timestamp": 1742293595,
"transactionHash": "0xc0985a7dad204c5f7efd6ac87d9877049570eee2fd4f9100f3258b6174cae43e",
"implementations": [
"eth:0x0665d51e2342F5D5EAEaAaA175C6fdEEf122c542",
"eth:0xff6fb8160DC28260d4027C80eAd7e1eD147c963F",
"eth:0xbE8988304816cbbd36624567AFe1A223DBF58c82",
"eth:0x8480803516B7390Ff9C57eC4dD233B634FB493B8"
]
},
{
"timestamp": 1742928599,
"transactionHash": "0x4b3cb9b8f9a1aea99e804b16f63ec89011315bde09b37ea60f77b2d1d1e2b572",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1747255211,
"transactionHash": "0x37a2cb789916112d5c2824569ee4f44d4078b9ab00b55017eebf83124309b54c",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1751481779,
"transactionHash": "0x8d2c504c58a659511bef547888186da42708e16923743741cd11acf4c6d908b3",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1755181427,
"transactionHash": "0xe1e89cb3eb4b704457d700ce847e9f682c50ef505c08b5ca0873a833e9d4ff2a",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1763413091,
"transactionHash": "0xd0833923639a4693c45fe165c6d30094dbfbc7c0b9e77b89981696519eb579a9",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1769715095,
"transactionHash": "0x54184d1aa0137620015290fe57ef7376cc15718acb77989eec3b7f4d0e0d14e5",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: LensZkEvmAdmin; ultimately Lens Multisig\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc29d04A93F893700015138E3E334eB828dAC3cef#code"
},
{
"name": "AvailL1DAValidator",
"isVerified": true,
"address": "eth:0x8f50d93B9955B285f787043B30B5F51D09bE0120",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies that the validiums data was made available on Avail by querying the AvailBridgeV1 on Ethereum for a merkle proof of inclusion.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f50d93B9955B285f787043B30B5F51D09bE0120#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "AvailBridgeV1",
"isVerified": true,
"address": "eth:0x054fd961708D8E2B9c10a63F6157c74458889F0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B"
],
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720568903,
"transactionHash": "0x980ea7f295336624f103c47b5ec482f90c2c90f4b7d05140ceb5d40aa077963c",
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
}
],
"description": "Bridge contract that verifies merkle proofs of inclusion in the proven data of the Vector DA- and arbitrary message bridge. Also used for token- and arbitrary message transfers between Avail and Ethereum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Avail Multisig 1\n * **defaultAdmin**: TimelockController; ultimately Avail Multisig 1\n * **pauser**: Avail Multisig 2",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "1d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x054fd961708D8E2B9c10a63F6157c74458889F0a#code"
},
{
"name": "LensZkEvmAdmin",
"isVerified": true,
"address": "eth:0x6bd8d33551077Ed281Cb047835a2aE4033eEc433",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Lens Multisig act through it.\n* Roles:\n * **owner**: Lens Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6bd8d33551077Ed281Cb047835a2aE4033eEc433#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1USDCBridge",
"isVerified": true,
"address": "eth:0xf553E6D903AA43420ED7e3bc2313bE9286A8F987",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x2ccD5486Ea1b2A52dcD387c01314F6A328f66cbB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734114251,
"transactionHash": "0x5428361f75c29b1f0e9959bd21fef8fb179b22f009f314e6403a305770e8735f",
"implementations": [
"eth:0x86dF12f51E3531689e0615bb2F739ddf01337715"
]
},
{
"timestamp": 1737484199,
"transactionHash": "0x152dc623c52d7f2b058ec5b4dfb67f5e0fee14c04dc9c0db4ae02ed2dc4ab998",
"implementations": [
"eth:0x2ccD5486Ea1b2A52dcD387c01314F6A328f66cbB"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf553E6D903AA43420ED7e3bc2313bE9286A8F987#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x4f06ef57618b16959879fC86E65eda0bd629A12B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4f06ef57618b16959879fC86E65eda0bd629A12B#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB3f4396C2040e502d0556Cbb16C0B22fE777A026#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#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": "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": "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": "Vector",
"isVerified": true,
"address": "eth:0x02993cdC11213985b9B13224f3aF289F03bf298d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720128227,
"transactionHash": "0x6c2c609d7a13fbdad53b1530d34d740ffa36653f29b5f14220429d7c0d6a3ffc",
"implementations": [
"eth:0x2434564f3524b44258B11643729343Ef57D60989"
]
},
{
"timestamp": 1721438975,
"transactionHash": "0x13d7977b9fca12882ea6ba47ce1b20a87de540c358b5e260584e0d921e786f5e",
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
}
],
"description": "The Vector bridge contract that accepts and stores Avail data availability commitments on Ethereum.\n* Roles:\n * **guardians**: Avail Multisig 1\n * **relayers**: EOA 3\n * **timelocks**: Avail Multisig 1",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02993cdC11213985b9B13224f3aF289F03bf298d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36194271a00dBBBae314E83dA56d0FF75fDa367B#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x45828180bbE489350D621d002968A0585406d487",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d.\n* Roles:\n * **canceller**: Avail Multisig 1\n * **defaultAdmin**: Avail Multisig 1, TimelockController; ultimately Avail Multisig 1\n * **executor**: Avail Multisig 1\n * **proposer**: Avail Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45828180bbE489350D621d002968A0585406d487#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"LGHO",
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Lens and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x8116A750e2091B2bA0D94223e7b20a6A65A279f4",
"l2EtherAddress": "0xE5ecd226b3032910CEaa43ba92EE8232f8237553",
"tokensToAssignFromL1": [
"LGHO"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d",
"eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026",
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Lighter",
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xE315CbEDc21c5beC186bF478D899e91A604a6bC8",
"eth:0x84E480C589e715D0CE7de004b1EEA69f8D714936"
]
},
"chain": "ethereum",
"description": "The main rollup contract. It processes L2 batches, manages token deposits and withdrawals, allows users to submit censorship-resistant L2 transactions and controls desert mode (escape hatch). Logic is split between two contracts because of code-size limits, many operations are delegated to AdditionalZKLighter.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
{
"name": "UpgradeGatekeeper",
"isVerified": true,
"address": "eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Governance contract functioning like an upgrade timelock for downstream contracts. The current delay is 21d and can be entirely skipped by Lighter Multisig.\n* Roles:\n * **getMaster**: Lighter Multisig 2\n * **securityCouncilAddress**: Lighter Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "eth:0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0x46D3C0c01D5DAae4FE8e3f54f32901d9Fbde1f08"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Manages the list of validators and the network governor.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2\n * **networkGovernor**: Lighter Multisig 2\n * **validators**: EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1#code"
},
{
"name": "ZkLighterVerifier",
"isVerified": true,
"address": "eth:0xac3Ce44B6ff4E402858C99D5699ff63131572BaA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0x840b49E7d53699C7eC4333ffFe27Dc679B171Db8"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main ZK verifier of Lighter, settles the proofs of correct L2 state transition in the case of normal rollup operation.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xac3Ce44B6ff4E402858C99D5699ff63131572BaA#code"
},
{
"name": "DesertVerifier",
"isVerified": true,
"address": "eth:0xd4460475F00307845082d3a146f36661354FBc67",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ZK verifier used to verify forced exits during desert mode.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd4460475F00307845082d3a146f36661354FBc67#code"
}
]
},
"escrows": [
{
"address": "0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"sinceTimestamp": 1737090335,
"tokens": [
"USDC",
"ETH",
"LIT",
"LINK",
"AAVE",
"UNI",
"SKY",
"LDO",
"AZTEC"
],
"contract": {
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xE315CbEDc21c5beC186bF478D899e91A604a6bC8",
"eth:0x84E480C589e715D0CE7de004b1EEA69f8D714936"
]
},
"chain": "ethereum",
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"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:0x840b49E7d53699C7eC4333ffFe27Dc679B171Db8",
"eth:0xd4460475F00307845082d3a146f36661354FBc67"
]
}
+2 -4
+2 -4
{
"creator": "Lighter",
"projectsForTvs": [
{
"projectId": "lighter",
"sinceTimestamp": 1759356000
}
],
"proofSystemInfo": "\n## Description\n\nLighter prover is a zk proving system for Lighter L2 based on [Plonky2](https://github.com/0xPolygonZero/plonky2/tree/main) circuits. It verifies the logic for regular state transition of Lighter L2, as well as state transitions in the “desert mode” when L2 is shut down and users exit, using different sets of circuits. The circuits are proven with a STARK which is wrapped into a Plonk SNARK before settling onchain.\n\n## Proof system\n\n[Plonky2](https://github.com/0xPolygonZero/plonky2) implements a circuit aritmetization based on TurboPlonk over Goldilocks field, but it replaces KZG polynomial commitment scheme with a FRI-based polynomial testing scheme. In this way proving Plonky2 circuits requires no trusted setup, i.e. it is a STARK. \n\nHowever Lighter wraps these STARK in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve, which requires a trusted setup.\n\n### Circuits\n\nThe proof system operates on Lighter STF circuits and desert mode circuits. All published circuits are available [here](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit), note that the Lighter team has not published the desert circuits yet. \n\nLighter proof system defines circuits for proving all transactions, including internal, L1 and L2 transactions. The full list of available transactions that define Lighter STF can be seen [here](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/transactions). \n\nTransaction circuits use custom implementations for arithmetic operations ([bigint](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/bigint), [uint](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/uint)), cryptographic primitives ([ecdsa](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/ecdsa) on the Secp256k1 curve, [eddsa](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/eddsa) on the ECgFp5 curve, [keccak](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/keccak), [poseidon_bn128](https://github.com/elliottech/lighter-prover/tree/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/poseidon_bn128)) and other helper circuits.\n\n### Recursion\n\nLighter prover implements recursive aggregation of transaction proofs to make the whole pipeline more efficient and parallelizable. First, fixed-size blocks of consecutive transactions are processed and proven by [BlockTx circuit](https://github.com/elliottech/lighter-prover/blob/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/block_tx_constraints.rs), which can be done on separate machines. Next, arbitrary number of BlockTx proofs are aggregated into a single proof by [BlockTxChain circuit](https://github.com/elliottech/lighter-prover/blob/053ceda7c59a9a0e05997661ca5a1bb7a92bb267/circuit/src/block_tx_chain_constraints.rs), which includes continuity checks across all BlockTx proofs.\n",
"techStack": {
"snark": [
{
"id": "Plonky2",
"type": "Plonk",
"name": "Plonky2",
"description": "Toolkit for developing transparent SNARKs based on PLONK and FRI developed by Polygon Zero team."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0x8dcfa8132726f2dcc75e6b791c48f5e5b375e6ea78a5e161e75b657195192b9d",
"name": "Lighter verifier",
"sourceLink": "https://github.com/elliottech/lighter-prover/tree/main",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x840b49E7d53699C7eC4333ffFe27Dc679B171Db8",
"chain": "ethereum"
"address": "eth:0x840b49E7d53699C7eC4333ffFe27Dc679B171Db8"
}
],
"verificationStatus": "unsuccessful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "At the time of writing, the sources for this version of the verifier circuits are not published and thus the verifier cannot be independently regenerated."
},
{
"hash": "0xc3d58029fabf2a93d6cb9b96315c484e4bea2e238aaa081460c9027863c650e7",
"name": "Lighter Desert verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0xd4460475F00307845082d3a146f36661354FBc67",
"chain": "ethereum"
"address": "eth:0xd4460475F00307845082d3a146f36661354FBc67"
}
],
"verificationStatus": "unsuccessful",
"verificationSteps": "The sources for desert verifier circuits are not published and thus the verifier cannot be independently regenerated.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "TokenBridge",
"isVerified": true,
"address": "eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1691067875,
"transactionHash": "0xbc08c4596eeee0a2e2527f03c0f2e85ec9e76e062b5f86eb435a67bca8f21122",
"implementations": [
"eth:0x6ccfD65b0b14F67259C77Ca6267104e058dDB292"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0xd52c09E67aF3BE0977B52b4817366e9BaB5dCFA2"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
}
],
"description": "Contract used to bridge and escrow ERC-20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1\n * **allPausers**: Linea Multisig 1\n * **allUnpausers**: Linea Multisig 1\n * **completeTokenBridgingPausers**: Linea Multisig 1\n * **completeTokenBridgingUnpausers**: Linea Multisig 1\n * **customContractSetters**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1\n * **defaultAdmin**: Linea Multisig 1\n * **initiateTokenBridgingPausers**: Linea Multisig 1\n * **initiateTokenBridgingUnpausers**: Linea Multisig 1\n * **messageServiceSetters**: Linea Multisig 1\n * **remoteTokenBridgeSetters**: Linea Multisig 1\n * **reserveTokenRemovers**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1\n * **reserveTokenSetters**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319#code"
},
{
"name": "BridgedToken",
"isVerified": true,
"address": "eth:0x36f274C1C197F277EA3C57859729398FCc8a3763",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Standard implementation used for assets that are native to the other layer and are bridged to this layer.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36f274C1C197F277EA3C57859729398FCc8a3763#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x41fAD3Df1B07B647D120D055259E474fE8046eb5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41fAD3Df1B07B647D120D055259E474fE8046eb5#code"
},
{
"name": "L1USDCBridge",
"isVerified": true,
"address": "eth:0x504A330327A089d8364C4ab3811Ee26976d388ce",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x41fAD3Df1B07B647D120D055259E474fE8046eb5"
],
"implementations": [
"eth:0x66CFD1562d6Aa4629e9e4142662c1A403528Df00"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1691086271,
"transactionHash": "0xa93648a8d01d65bea363bc2f6e19897e42f9af999370c07cb2a0ea6a5401b6b0",
"implementations": [
"eth:0x16Db542C30fB3519D11CF8F632077c62c1a944fd"
]
},
{
"timestamp": 1693599947,
"transactionHash": "0xe752ce539119fc11af6239e8b26a79d80c9e84cec19ac6aca060f466853f5b7d",
"implementations": [
"eth:0x0eC393209674090368C592A591B25811e490BF36"
]
},
{
"timestamp": 1742155031,
"transactionHash": "0xd61b29009aa7f628ff1b04138e30ebd39805e40a2e3e4a3e43050fd8b0f75548",
"implementations": [
"eth:0x66CFD1562d6Aa4629e9e4142662c1A403528Df00"
]
}
],
"description": "L1 side of the old and now unused USDC bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x504A330327A089d8364C4ab3811Ee26976d388ce#code"
},
{
"name": "PlonkVerifierMainnetFull",
"isVerified": true,
"address": "eth:0x66355689a9f067eeb9dc9d899E4192676988279C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x66355689a9f067eeb9dc9d899E4192676988279C#code"
},
{
"name": "Delay",
"isVerified": true,
"address": "eth:0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436",
"upgradeability": {
"proxyType": "gnosis safe zodiac module",
"admins": [],
"implementations": [],
"immutable": false
},
"chain": "ethereum",
"description": "A simple Safe module for that can queue and execute transactions as Linea Multisig 2 after a delay of currently 3mo, if registered as a module there.\n* Roles:\n * **owner**: Linea Multisig 2; ultimately Linea Multisig 1\n * **zodiacModule_modules**: Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "eth:0x971f46a2852d11D59dbF0909e837cfd06f357DeB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x971f46a2852d11D59dbF0909e837cfd06f357DeB#code"
},
{
"name": "PlonkVerifierMainnetFull",
"isVerified": true,
"address": "eth:0xC83ed08E2262fBa264D528C749c051f8fC526897",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC83ed08E2262fBa264D528C749c051f8fC526897#code"
},
{
"name": "LineaRollup",
"isVerified": true,
"address": "eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x04728BF704a716C26F9EF4085013b760AC885631"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689159923,
"transactionHash": "0x3564f15a274bdc49a6ad8af161113d20a678d87efbd3d708540a9b4d026f1122",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689166667,
"transactionHash": "0x8ee4253600d68665e8d52a522d8ba7136639187b87f8079b881de9e6d1f20d2a",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689427883,
"transactionHash": "0x628efc29f5b2267f23cf613720003fafe671ee47db60b4f6610f5ae1ab838555",
"implementations": [
"eth:0x4c8d4Ce72afAA417d1F7E833725FdB4E793cd6b3"
]
},
{
"timestamp": 1691513927,
"transactionHash": "0xdff29a7f65b6bec4e8288673a5ca55e12081b4d55879e600817484f28c5a80b1",
"implementations": [
"eth:0xb32c3D0dDb0063FfB15E8a50b40cC62230D820B3"
]
},
{
"timestamp": 1707813599,
"transactionHash": "0xb4ed5b2646e45744945a4fc51da0e5e687ffe26f570b7aa3abb7b1fd4a460ea4",
"implementations": [
"eth:0xAA4b3a9515c921996Abe7930bF75Eff7466a4457"
]
},
{
"timestamp": 1711448987,
"transactionHash": "0x565c77e109aac4df41d81457bdfbdd17782d8bca9a1330c68a271c64f35d05e5",
"implementations": [
"eth:0x934Dd4C63E285551CEceF8459103554D0096c179"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0x53fC68bFfC03D17804e5A901DE42d1eeF2e64562"
]
},
{
"timestamp": 1730216147,
"transactionHash": "0x0970f422c80627f28916f9c5583ff6298070893debd191ead0cf39778e4bae14",
"implementations": [
"eth:0x1825242411792536469Cbb5843fd27Ce3e9e583A"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0"
]
},
{
"timestamp": 1772375135,
"transactionHash": "0xac24732952f9eea514ba28030218267575bb42dd5f713dab7c29f3d330086d8f",
"implementations": [
"eth:0x04728BF704a716C26F9EF4085013b760AC885631"
]
}
],
"description": "The main contract of the Linea zkEVM rollup. Contains state roots, the verifier addresses and manages messages between L1 and the L2. ETH deployed to the rollup contract can be transfered to a yield protocol.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1\n * **defaultAdmin**: Linea Multisig 1\n * **ethStaker**: EOA 3, Linea Multisig 1\n * **fallbackOperator**: CallForwardingProxy\n * **operators**: EOA 1, EOA 2\n * **yieldManagerSetter**: Linea Multisig 1",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd19d4B5d358258f05D7B411E21A1460D11B0876F#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xd6B95c960779c72B8C6752119849318E5d550574",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A standard timelock with access control. The current minimum delay is 0s.\n* Roles:\n * **canceller**: Linea Multisig 1\n * **executor**: Linea Multisig 1\n * **proposer**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1\n * **timelockAdmin**: Timelock; ultimately Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd6B95c960779c72B8C6752119849318E5d550574#code"
},
{
"name": "YieldManager",
"isVerified": true,
"address": "eth:0xeb63cABDd78537b9b72A2AFB573F7caa91bd8D94",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x751236A1aFC11B7F1A7630fe87b0Bd96AC5203C4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770742511,
"transactionHash": "0x69fb4be68a461b7953579236e33e62f1463ebf0e02e397221a35c16dadecd77a",
"implementations": [
"eth:0x751236A1aFC11B7F1A7630fe87b0Bd96AC5203C4"
]
}
],
"description": "Manages flows of ETH and staked ETH in and out of rollup contract reserves. Tracks the available ETH balance for L2 exits, configures target parameters for amount of staked ETH, communicates with yield provider adaptors.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1\n * **yieldStakingManager**: Linea Multisig 1\n * **yieldStakingOperator**: EOA 3, Linea Multisig 1",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeb63cABDd78537b9b72A2AFB573F7caa91bd8D94#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF5058616517C068C7b8c7EbC69FF636Ade9066d6#code"
}
],
"linea": [
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "* Roles:\n * **owner**: L2Timelock",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0x1E1f6F22f97b4a7522D8B62e983953639239774E#code"
},
{
"name": "TokenBridge",
"isVerified": true,
"address": "linea:0x353012dc4a9A6cF55c941bADC267f82004A8ceB9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E"
],
"implementations": [
"linea:0xD90ed3D4f9d11262d3D346a4369058d5B3777137"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1691068282,
"transactionHash": "0x74e2ded3ed8dd2fd39692b053ede573c6d8205a2dcdb29a201d6320006f81404",
"implementations": [
"linea:0x2bfdf4a0d54C93a4bAF74F8DcEA8a275D8EE97a9"
]
},
{
"timestamp": 1717588517,
"transactionHash": "0x679e1f421ff3d583b75adc32bda76d9408688e9fd6897bc499baaee547711f13",
"implementations": [
"linea:0x0fFCBe98041B77BD87C38e2d0a6b473e7703444E"
]
},
{
"timestamp": 1734357983,
"transactionHash": "0xbb31a92afc2c725d0b10aaf96829db7a553041d0be10ca840d2fb82ef77119e7",
"implementations": [
"linea:0xD90ed3D4f9d11262d3D346a4369058d5B3777137"
]
}
],
"description": "Contract used to bridge and escrow ERC-20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 3\n * **allPausers**: Linea Multisig 3\n * **allUnpausers**: Linea Multisig 3\n * **completeTokenBridgingPausers**: Linea Multisig 3\n * **completeTokenBridgingUnpausers**: Linea Multisig 3\n * **customContractSetters**: Linea Multisig 3, Linea Multisig 4\n * **defaultAdmin**: Linea Multisig 3\n * **initiateTokenBridgingPausers**: Linea Multisig 3\n * **initiateTokenBridgingUnpausers**: Linea Multisig 3\n * **messageServiceSetters**: Linea Multisig 3\n * **remoteTokenBridgeSetters**: Linea Multisig 3\n * **reserveTokenRemovers**: Linea Multisig 3, Linea Multisig 4\n * **reserveTokenSetters**: Linea Multisig 3, Linea Multisig 4",
"upgradableBy": [
{
"name": "Linea Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0x353012dc4a9A6cF55c941bADC267f82004A8ceB9#code"
},
{
"name": "L2Roles",
"isVerified": true,
"address": "linea:0x3886a948eA7b4053312c3aE31a13776144aA6239",
"upgradeability": {
"proxyType": "gnosis safe zodiac module",
"admins": [],
"implementations": [],
"immutable": false
},
"chain": "linea",
"description": "The Zodiac 'Roles' module for Safe multisigs allows defining roles that can call preconfigured targets on behalf of the Gnosis Safe.\n* Roles:\n * **pausers**: EOA 5\n * **voyageXpMinters**: EOA 6",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0x3886a948eA7b4053312c3aE31a13776144aA6239#code"
},
{
"name": "L2MessageService",
"isVerified": true,
"address": "linea:0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E"
],
"implementations": [
"linea:0x05d43713B7E333d2D54be65cE3b5F3698aB960Fd"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1688650665,
"transactionHash": "0xed74f383b9adf7473d3acd918f80cfdd9e971e861e08c82da880b0b6c3e7d5da",
"implementations": [
"linea:0x369DB650D875938252682532eA9E4Af267a7d126"
]
},
{
"timestamp": 1689173298,
"transactionHash": "0x0c07ca13444501284e8935d6cc93cde21ab6a45c6d442aae2681fe01e4106b8d",
"implementations": [
"linea:0x49B620cC5DaD8254253ADf9f769262fF15C79e8c"
]
},
{
"timestamp": 1689428479,
"transactionHash": "0x58e2af8033120299d32c2c561cb236a386565e981a14626d1b96a7d592564b66",
"implementations": [
"linea:0x89e70E2AAAD2021cEa50b1eb235B7Fe97625147d"
]
},
{
"timestamp": 1707813305,
"transactionHash": "0xcc8a117438895921a7768cef24fd55a179538956fe8e3dfdbf44181ae2eb4151",
"implementations": [
"linea:0x2c4F0ed41E356E289b5b479684006427Ec3589af"
]
},
{
"timestamp": 1711449417,
"transactionHash": "0xb50f4883ceaaecaa5c3864e17e0cedcdfbf13a8d49e2e318dbde814d7dbe1459",
"implementations": [
"linea:0x9899f25BDD0785B2b47c1Bd29711D88406c3b54D"
]
},
{
"timestamp": 1734357983,
"transactionHash": "0xbb31a92afc2c725d0b10aaf96829db7a553041d0be10ca840d2fb82ef77119e7",
"implementations": [
"linea:0x05d43713B7E333d2D54be65cE3b5F3698aB960Fd"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 3\n * **l1l2MessageSetter**: EOA 4",
"upgradableBy": [
{
"name": "Linea Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec#code"
},
{
"name": "L2USDCBridge",
"isVerified": true,
"address": "linea:0xA2Ee6Fce4ACB62D95448729cDb781e3BEb62504A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c"
],
"implementations": [
"linea:0x1998108fA7993EA67a8B1a99d392a3288C5a5521"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1691086556,
"transactionHash": "0xb50a7330132542dc795312528f39e57822236eb7d35cfcaf2616e091c378705e",
"implementations": [
"linea:0x71E4dB49008C7D7648597E8D24A8E2fD1D220B81"
]
},
{
"timestamp": 1693600112,
"transactionHash": "0xdcd89930e7456d8d80313aa109e5ab95d2455354e39e56d1ae0432f2579339d0",
"implementations": [
"linea:0x6D967F862d8c5D9E230a976AB2063eD1d4D7A43c"
]
},
{
"timestamp": 1742047419,
"transactionHash": "0xdf59afa26b1f9768cf98f2f59a55a175faa5e911501d2043e6564340d0841140",
"implementations": [
"linea:0x1998108fA7993EA67a8B1a99d392a3288C5a5521"
]
}
],
"description": "L2 side of the old and now unused USDC bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 3",
"upgradableBy": [
{
"name": "Linea Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0xA2Ee6Fce4ACB62D95448729cDb781e3BEb62504A#code"
},
{
"name": "L2Timelock",
"isVerified": true,
"address": "linea:0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "A standard timelock with access control. The current minimum delay is 0s.\n* Roles:\n * **canceller**: Linea Multisig 3\n * **executor**: Linea Multisig 3\n * **proposer**: Linea Multisig 3, Linea Multisig 4\n * **timelockAdmin**: L2Timelock; ultimately Linea Multisig 3",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "linea:0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "* Roles:\n * **owner**: Linea Multisig 3",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c#code"
},
{
"name": "LineaVoyageXP",
"isVerified": true,
"address": "linea:0xd83af4fbD77f3AB65C3B1Dc4B38D7e67AEcf599A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Voyage XP tokens are non-transferrable, soulbound tokens that are distributed to recognize the community’s contribution toward the growth of the Linea ecosystem.\n",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0xd83af4fbD77f3AB65C3B1Dc4B38D7e67AEcf599A#code"
},
{
"name": "BridgedToken",
"isVerified": true,
"address": "linea:0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Standard implementation used for assets that are native to the other layer and are bridged to this layer.\n",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "linea:0xE798695d2e78f7caeb5BbF3385433959324c02c0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: Linea Multisig 3",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/0xE798695d2e78f7caeb5BbF3385433959324c02c0#code"
}
]
},
"escrows": [
{
"address": "0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"sinceTimestamp": 1689159923,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x04728BF704a716C26F9EF4085013b760AC885631"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689159923,
"transactionHash": "0x3564f15a274bdc49a6ad8af161113d20a678d87efbd3d708540a9b4d026f1122",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689166667,
"transactionHash": "0x8ee4253600d68665e8d52a522d8ba7136639187b87f8079b881de9e6d1f20d2a",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689427883,
"transactionHash": "0x628efc29f5b2267f23cf613720003fafe671ee47db60b4f6610f5ae1ab838555",
"implementations": [
"eth:0x4c8d4Ce72afAA417d1F7E833725FdB4E793cd6b3"
]
},
{
"timestamp": 1691513927,
"transactionHash": "0xdff29a7f65b6bec4e8288673a5ca55e12081b4d55879e600817484f28c5a80b1",
"implementations": [
"eth:0xb32c3D0dDb0063FfB15E8a50b40cC62230D820B3"
]
},
{
"timestamp": 1707813599,
"transactionHash": "0xb4ed5b2646e45744945a4fc51da0e5e687ffe26f570b7aa3abb7b1fd4a460ea4",
"implementations": [
"eth:0xAA4b3a9515c921996Abe7930bF75Eff7466a4457"
]
},
{
"timestamp": 1711448987,
"transactionHash": "0x565c77e109aac4df41d81457bdfbdd17782d8bca9a1330c68a271c64f35d05e5",
"implementations": [
"eth:0x934Dd4C63E285551CEceF8459103554D0096c179"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0x53fC68bFfC03D17804e5A901DE42d1eeF2e64562"
]
},
{
"timestamp": 1730216147,
"transactionHash": "0x0970f422c80627f28916f9c5583ff6298070893debd191ead0cf39778e4bae14",
"implementations": [
"eth:0x1825242411792536469Cbb5843fd27Ce3e9e583A"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0"
]
},
{
"timestamp": 1772375135,
"transactionHash": "0xac24732952f9eea514ba28030218267575bb42dd5f713dab7c29f3d330086d8f",
"implementations": [
"eth:0x04728BF704a716C26F9EF4085013b760AC885631"
]
}
],
"url": "https://etherscan.io/address/0xd19d4B5d358258f05D7B411E21A1460D11B0876F#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"sinceTimestamp": 1691060675,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"premintedTokens": [
"LINEA"
],
"contract": {
"isVerified": true,
"address": "eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1691067875,
"transactionHash": "0xbc08c4596eeee0a2e2527f03c0f2e85ec9e76e062b5f86eb435a67bca8f21122",
"implementations": [
"eth:0x6ccfD65b0b14F67259C77Ca6267104e058dDB292"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0xd52c09E67aF3BE0977B52b4817366e9BaB5dCFA2"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
}
],
"url": "https://etherscan.io/address/0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 0s delay on code upgrades."
}
],
"zkVerifiers": [
"eth:0xC83ed08E2262fBa264D528C749c051f8fC526897",
"eth:0x66355689a9f067eeb9dc9d899E4192676988279C"
]
}
+2 -4
+2 -4
{
"creator": "Consensys",
"projectsForTvs": [
{
"projectId": "linea",
"sinceTimestamp": 1689112800
}
],
"proofSystemInfo": "\n \n ## Description\n\n [Linea prover](https://github.com/Consensys/linea-monorepo/tree/main/prover) implements a zkEVM by creating a custom arithmetization of EVM state transition and proving it in a series of recursive SNARKs (i.e. without implementing a zkVM). The proof is wrapped into a Plonk with KZG for efficient onchain verification. Linea prover targets 128 bits of security.\n\n ## Proof system\n\n Linea prover includes Wizard-IOP framework for extending polynomial IOPs with more powerful queries, Arcane compiler of Wizard-IOP into polynomial IOP and Vortex list polynomial commitment (LPC) scheme.\n\n Wizard-IOP represents an extension of polynomial IOP with a wider range of queries, including inclusion check, permutation check, range check etc. Vortex LPC is a batchable polynomial commitment that is based on [Ligero](https://eprint.iacr.org/2022/1608) with lattice-based hash functions. To achieve succinct proof size, Linea prover performs multiple rounds of self-recursion by arithmetizing the Vortex verifier in the Wizard-IOP framework. During these rounds Plonk+KZG schemes over curves BW6, BLS12-377, and BN254 are used, creating a dependency on 3 trusted setups, see [below](#trusted-setups) for more details.\n\n ### EVM circuits\n\n This level of Linea prover produces execution proof and compression proof after several rounds of self-recursive compression. Both of these are Plonk based proofs over BLS12-377 curve.\n\n Execution proof validates the correct execution of transactions within the EVM, including knowledge of correct EVM traces, correctness of precompiles and consistency of public inputs.\n\n Compression proof verifies effective and correct compression of inputs for EVM execution circuits.\n\n ### Aggregation circuits\n\n At this stage several proofs generated by execution and compression circuits are recursively verified within the finalization (or aggregation) circuit, which also checks the “connection” of all public inputs across all circuits. It leverages a composite proof system that combines several Plonk circuits on the BW6, BLS12-377, and BN254 curve with a goal of performant recursion.\n\n ### Final wrap\n\n In the end the Linea proof is wrapped in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve for even more efficiency onchain. For Plonk, Aztec Ignition trusted setup ceremony is used.\n ",
"techStack": {
"zkVM": [
{
"id": "linea",
"type": "Plonk",
"name": "Linea",
"description": "Prover system of Linea written in Go, includes Vortex polynomial commitment and Arcane compiler."
},
{
"id": "EVM",
"type": "ISA",
"name": "EVM",
"description": "Instruction language for Ethereum VM."
},
{
"id": "BLS12-377",
"type": "curve",
"name": "BLS12-377",
"description": "Pairing-friendly 377-bit prime field Weierstrass elliptic curve."
},
{
"id": "BW6-761",
"type": "curve",
"name": "BW6-761",
"description": "Pairing-friendly 761-bit prime field elliptic curve introduced by Housni and Guillevic."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "Aleo",
"risk": "yellow",
"name": "Aleo stage I trusted setup",
"shortDescription": "Trusted setup for KZG commitments over BLS12-377 curve, initially run as Aleo's Stage I setup. Ceremony has 106 participants and was publicly open for participation.",
"longDescription": "\n Ceremony generated trusted setup for KZG commitments over BLS12-377 curve, it was originally run as stage I setup\n for Aleo blockchain and later reused for Linea prover. Ceremony has 106 participants.\n\n - Repo with ceremony instructions [https://github.com/AleoNet/aleo-setup](https://github.com/AleoNet/aleo-setup)\n - Link to the ceremony details: [https://setup.aleo.org](https://setup.aleo.org/)\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "CeloPlumo",
"name": "Celo Plumo",
"risk": "yellow",
"shortDescription": "Trusted setup for KZG commitments over BW6-761 curve, initially run for Celo Plumo. Ceremony has 55 participants and was publicly open for participation.",
"longDescription": "\n Ceremony generated trusted setup for KZG commitments over BW6-761 curve, it was originally run for Celo\n Plumo and later reused for Linea prover. Ceremony has 55 participants.\n\n - Repo with ceremony instructions: [https://github.com/celo-org/snark-setup?tab=readme-ov-file](https://github.com/celo-org/snark-setup?tab=readme-ov-file)\n - Link to the ceremony details: [https://celo.org/plumo](https://celo.org/plumo) (it is broken. Archived version here: [https://web.archive.org/web/20221201203227/https://celo.org/plumo](https://web.archive.org/web/20221201203227/https://celo.org/plumo))\n - Links to ceremony transcript: [https://console.cloud.google.com/storage/browser/plumoceremonyphase1/chunks](https://console.cloud.google.com/storage/browser/plumoceremonyphase1/chunks)\n - Link to ceremony verification code: [https://github.com/Consensys/gnark-ignition-verifier/blob/feat/celo_parser/celo/main.go](https://github.com/Consensys/gnark-ignition-verifier/blob/feat/celo_parser/celo/main.go)\n "
}
],
"verifierHashes": [
{
"hash": "0x4434516bbfeb1e4fca34d295be3926880f0a918360f218ce78bbecbd6095eb6f",
"name": "Linea Plonk Type 0",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0xC83ed08E2262fBa264D528C749c051f8fC526897",
"chain": "ethereum"
"address": "eth:0xC83ed08E2262fBa264D528C749c051f8fC526897"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0xabc49364495842330ae3b048a7a80d177976a5f6fdd578b93311aab1f643fd6d",
"name": "Linea Plonk Type 1",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x66355689a9f067eeb9dc9d899E4192676988279C",
"chain": "ethereum"
"address": "eth:0x66355689a9f067eeb9dc9d899E4192676988279C"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x05f23282FFDCA8286E4738C1aF79079f3d843750",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730399,
"transactionHash": "0xc11b949a2d36badaad0e61d755725b252de22d520f00c496c4a9d3b8cbb8a3b2",
"implementations": [
"eth:0xc6cF1149d23F2788AC94312E68EB52a74F288ebe"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"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 Gelato Multisig\n * **batcherHash**: EOA 1\n * **owner**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05f23282FFDCA8286E4738C1aF79079f3d843750#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752233399,
"transactionHash": "0xfe283ec96960a02e42a4dec01d93768b39630f53b1b41065414221ef586c82c4",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0CF7D3706a27CCE2017aEB11E8a9c8b5388c282C#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730615,
"transactionHash": "0x4194ea6fa29f5dd080b647267726a7f0b36d277f46019550706335c763ac352d",
"implementations": [
"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x26dB93F8b8b4f7016240af62F7730979d353f9A7#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2658723Bf70c7667De6B25F99fcce13A16D25d08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2658723Bf70c7667De6B25F99fcce13A16D25d08#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x31B72D76FB666844C41EdF08dF0254875Dbb7edB",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730543,
"transactionHash": "0xfae1f2f01e0de9b66095de3faf83be79326792924394411ebef79b3c4d3314b9",
"implementations": [
"eth:0x0318A37e2662507789a6E17E85A506709F89488b"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31B72D76FB666844C41EdF08dF0254875Dbb7edB#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x3A44A3b263FB631cdbf25f339e2D29497511A81f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730459,
"transactionHash": "0x27155d16a9584317f4c13bac90f9b3ff0b1df01ff4f7360bcddfb343e6b61d50",
"implementations": [
"eth:0xefBDff012170ae592A3d197bf9Ac10eBF313233a"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3A44A3b263FB631cdbf25f339e2D29497511A81f#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6",
"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* Roles:\n * **challenger**: Gelato Multisig\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x095102Ec7bea1c5f25090705b196a6EA2e6b64f6#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752233423,
"transactionHash": "0xc5e3b8e9ce67cb7f7c4c93fcde0b11570d34df6fab8c260ada3a9ea602cb419e",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
}
],
"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 Gelato Multisig\n * **owner**: Lisk Multisig; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31eFC2c8012c56E007E5Bdb8E5B7955D197C168e#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"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/0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x214e74388Abf07A8f513c533d6a42c6968d42aD3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1752233411,
"transactionHash": "0xaf4ff471bdbe4292d7e4e89808d01599881b366cb70e2b36ce0de1f45dbf9556",
"implementations": [
"eth:0x214e74388Abf07A8f513c533d6a42c6968d42aD3"
]
},
{
"timestamp": 1752687095,
"transactionHash": "0x747d1959ae598f82c0f81f0b739c41bae306eb558622b9be4dbe4d75da501d07",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752687095,
"transactionHash": "0x747d1959ae598f82c0f81f0b739c41bae306eb558622b9be4dbe4d75da501d07",
"implementations": [
"eth:0x214e74388Abf07A8f513c533d6a42c6968d42aD3"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7ad0d165B9607960AD850090DDd7B9eB381D9c1e#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737623423,
"transactionHash": "0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60",
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
}
],
"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/0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"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/0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc1dA06CC5DD5cE23bABa924463de7F762039252d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730483,
"transactionHash": "0xc8310656324ea8f2f677190f579a9f950979ba83586245df990cdbf8f82b9fd0",
"implementations": [
"eth:0xD00e38514d66bf1B761a8937559c6b2854A5B3ad"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
}
],
"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 Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc1dA06CC5DD5cE23bABa924463de7F762039252d#code"
},
{
"name": "L1OpUSDCBridgeAdapter",
"isVerified": true,
"address": "eth:0xE3622468Ea7dD804702B56ca2a4f88C0936995e6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1727719139,
"transactionHash": "0x63ba1a0bd2a3d75396e1e3e118057dfc69de7b9303552cd4996d6187dcec7fa1",
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
}
],
"description": "Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3622468Ea7dD804702B56ca2a4f88C0936995e6#code"
},
{
"name": "L1OpEURCBridgeAdapter",
"isVerified": true,
"address": "eth:0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748849495,
"transactionHash": "0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83",
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
}
],
"description": "Escrow for EURC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Lisk Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeC432c4F1d0E12737f3a42a459B84848Af979b2d#code"
}
]
},
"escrows": [
{
"address": "0x26dB93F8b8b4f7016240af62F7730979d353f9A7",
"sinceTimestamp": 1714730003,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x26dB93F8b8b4f7016240af62F7730979d353f9A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714730615,
"transactionHash": "0x4194ea6fa29f5dd080b647267726a7f0b36d277f46019550706335c763ac352d",
"implementations": [
"eth:0x3Ff11Cde41a5f7c791eFfcd6AeEA05dd2df5e21e"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1752607223,
"transactionHash": "0x3786f23fa6b766eb330ab5b46bdcae3224c208c00b03405952e7743b5e13a89d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x26dB93F8b8b4f7016240af62F7730979d353f9A7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2658723Bf70c7667De6B25F99fcce13A16D25d08",
"sinceTimestamp": 1714730063,
"tokens": "*",
"excludedTokens": [
"USDC",
"wstETH"
],
"premintedTokens": [
"LSK"
],
"contract": {
"isVerified": true,
"address": "eth:0x2658723Bf70c7667De6B25F99fcce13A16D25d08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeC432c4F1d0E12737f3a42a459B84848Af979b2d"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
"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/0x2658723Bf70c7667De6B25F99fcce13A16D25d08#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xE3622468Ea7dD804702B56ca2a4f88C0936995e6",
"sinceTimestamp": 1727719139,
"tokens": [
"USDC"
],
"contract": {
"name": "USDC Vault",
"isVerified": true,
"address": "eth:0xE3622468Ea7dD804702B56ca2a4f88C0936995e6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1727719139,
"transactionHash": "0x63ba1a0bd2a3d75396e1e3e118057dfc69de7b9303552cd4996d6187dcec7fa1",
"implementations": [
"eth:0x61488ae9dEDCA3f29F5e72bbf23ba975862c20bA"
]
}
],
"description": "Custom escrow for USDC bridged to Lisk.",
"url": "https://etherscan.io/address/0xE3622468Ea7dD804702B56ca2a4f88C0936995e6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677",
"sinceTimestamp": 1748849495,
"tokens": [
"EURC"
],
"contract": {
"name": "EURC Vault",
"isVerified": true,
"address": "eth:0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD2D7535e099F26EbfbA26d96bD1a661d3531d0e9"
],
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748849495,
"transactionHash": "0x842ad723004e0ab6eec96d63e9480318f20b4262a5727cdf8ab01df70aed9c83",
"implementations": [
"eth:0x7C82666cE6C2DCFD8458148c98C8b156D6Bc0d80"
]
}
],
"description": "Custom escrow for EURC bridged to Lisk.",
"url": "https://etherscan.io/address/0xEb99c8c87c5e0C2dCb01E2A1E35AA01f5889F677#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf",
"sinceTimestamp": 1737623423,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737623423,
"transactionHash": "0xc46d4a4110ff87720804f018aa5be922d1a401d1b869ea4f7fee645ee6ba1b60",
"implementations": [
"eth:0xC7315f4FaaB2F700fc6b4704BB801c46ff6327AC"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x9348AF23B01F2B517AFE8f29B3183d2Bb7d69Fcf#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate Lisk",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-contracts/v1.3.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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-contracts/v1.3.0` . Commit hash should be `e6ef3a900c42c8722e72c2e2314027f85d12ced5`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03cb5216c8cf2902c66127db119ba03a1296205736addc39cfeafc7c14d0bd14"
}
],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "ExchangeV3",
"isVerified": true,
"address": "eth:0x0BABA1Ad5bE3a5C0a66E7ac838a129Bf948f1eA4",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0xDd2A08a1c1A28c1A571E098914cA10F2877D9c97"
],
"implementations": [
"eth:0x26d8Ba776a067C5928841985bCe342f75BAE7E82"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1603969940,
"transactionHash": "0xed8a952216607c164559f01d5f90066a7de65fdcc72146e71956865685a8eeab",
"implementations": [
"eth:0xa01d4d1FE18A34902Ac2e4045a5e8f553dDe9685"
]
},
{
"timestamp": 1607926574,
"transactionHash": "0xcfbaf71a511297fd7bc1452e5b274c056ba5a3ddf271b59012eff877dd4351b9",
"implementations": [
"eth:0x2fefbeF4d1445F523941c56349C2414cd5e9675d"
]
},
{
"timestamp": 1610939214,
"transactionHash": "0xce34e9483ec139aa6628ed29279b80f163ba9094ce1a848cbe640e438ad2eb20",
"implementations": [
"eth:0x8c63D8E608fF702a92D5908730C91457b0447Ad7"
]
},
{
"timestamp": 1616642770,
"transactionHash": "0x155d094b0d053837b4e252b69cb10c8157795274da1a9f4325519791c27bd294",
"implementations": [
"eth:0xCFba78aecfBcc0B4B748fA58c530D4675BB5D32F"
]
},
{
"timestamp": 1616990059,
"transactionHash": "0xb54c93da349065cc82e2ef150f07319b2522709e8fe7acbcb5a5edfdcf46f2d6",
"implementations": [
"eth:0x4fb117dcd6D09abF1a99B502d488A99F5a17e7eC"
]
},
{
"timestamp": 1630470259,
"transactionHash": "0x2ccbfd61faf2015457ec43fab0324dca7d75091aba7423fe2990307bbfe32e22",
"implementations": [
"eth:0x3c294fCF74129d649325F8995afC2f9CfaFAB9dA"
]
},
{
"timestamp": 1639448481,
"transactionHash": "0x0fa3763c4bd69cf9e77636b37b5b12c29f3b260d8e822ebe215b14c4602a716d",
"implementations": [
"eth:0x26d8Ba776a067C5928841985bCe342f75BAE7E82"
]
}
],
"description": "Main Loopring contract.",
"upgradableBy": [
{
"name": "LoopringMultisig",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x0BABA1Ad5bE3a5C0a66E7ac838a129Bf948f1eA4#code"
},
{
"name": "LoopringIOExchangeOwner",
"isVerified": true,
"address": "eth:0x153CdDD727e407Cb951f728F24bEB9A5FaaA8512",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract used by the Prover to submit exchange blocks with zkSNARK proofs that are later processed and verified by the BlockVerifier contract. It allows to give or revoke permissions to submit blocks and to open block submission to everyone.",
"url": "https://etherscan.io/address/0x153CdDD727e407Cb951f728F24bEB9A5FaaA8512#code"
},
{
"name": "DefaultDepositContract",
"isVerified": true,
"address": "eth:0x674bdf20A0F284D710BC40872100128e2d66Bd3f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ERC 20 token basic deposit contract. Handles user deposits and withdrawals.",
"url": "https://etherscan.io/address/0x674bdf20A0F284D710BC40872100128e2d66Bd3f#code"
},
{
"name": "LoopringV3",
"isVerified": true,
"address": "eth:0xe56D6ccab6551932C0356E4e8d5dAF0630920C71",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract managing LRC staking for exchanges (one Loopring contract can manage many exchanges). It also allows to change the forced withdrawal fee and the Verifier address.",
"url": "https://etherscan.io/address/0xe56D6ccab6551932C0356E4e8d5dAF0630920C71#code"
},
{
"name": "FastWithdrawalAgent",
"isVerified": true,
"address": "eth:0xec3Cc6Cf0252565b56FC7AC396017Df5b9B78a31",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary contract allowing users to process fast withdrawals.",
"url": "https://etherscan.io/address/0xec3Cc6Cf0252565b56FC7AC396017Df5b9B78a31#code"
},
{
"name": "ForcedWithdrawalAgent",
"isVerified": true,
"address": "eth:0x52ea1971C05B0169c02a0bBeC05Fe8b5E3A24470",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary contract able to force withdrawals from L1 on behalf of users.",
"url": "https://etherscan.io/address/0x52ea1971C05B0169c02a0bBeC05Fe8b5E3A24470#code"
},
{
"name": "BlockVerifier",
"isVerified": true,
"address": "eth:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "zkSNARK Verifier based on ethsnarks library.",
"upgradableBy": [
{
"name": "LoopringMultisig",
"delay": "no"
}
],
"upgradeConsiderations": "The Verifier contract address can be changed by the ProxyOwner.",
"url": "https://etherscan.io/address/0x6150343E0F43A17519c0327c41eDd9eBE88D01ef#code"
},
{
"name": "AgentRegistry",
"isVerified": true,
"address": "eth:0x39B9bf169a7e225ba037C443A40460c77438ea14",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Agent registry that is used by all other Loopring contracts. Currently used are FastWithdrawalAgent, ForcedWithdrawalAgent, DestroyableWalletAgent and a number of LoopringAmmPool contracts.",
"url": "https://etherscan.io/address/0x39B9bf169a7e225ba037C443A40460c77438ea14#code"
}
]
},
"escrows": [
{
"address": "0x7D3D221A8D8AbDd868E8e88811fFaF033e68E108",
"sinceTimestamp": 1575539271,
"tokens": [
"LRC",
"USDT"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xD97D09f3bd931a14382ac60f156C1285a56Bb51B",
"sinceTimestamp": 1578284114,
"tokens": [
"LRC",
"USDT"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x674bdf20A0F284D710BC40872100128e2d66Bd3f",
"sinceTimestamp": 1603949642,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
}
],
"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:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef"
]
}
+5 -10
+5 -10
{
"creator": "Loopring",
"projectsForTvs": [
{
"projectId": "loopring",
"sinceTimestamp": 1582758000
}
],
"proofSystemInfo": "\n ## Proof system\n\n Loopring prover is a monolithic Groth16 SNARK proving system over BN254 curve that generates validity proofs for the state transition of Loopring L2. This system has [custom R1CS circuits](https://github.com/Loopring/protocol3-circuits.git) designed to prove the specific state transition function of the L2, including deposits and withdrawals, transfers, spot trades and curve AMM swaps, NFT operations. Loopring uses [Ethsnarks prover library](https://github.com/HarryR/ethsnarks). \n ",
"techStack": {
"snark": [
{
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
"id": "Loopring",
"name": "Loopring Stack",
"risk": "red",
"shortDescription": "Two circuit-specific trusted setups for Groth16 verifiers of two L2s built with Loopring zk rollup stack. One contains 5 contributions, another 16 contributions.",
"longDescription": "\n This entry incorporates two different trusted setups with very similar properties. Namely, these are \n circuit-specific trusted setups for Groth16 circuits over BN254 curve of DeGate and Loopring app chains \n that are built with Loopring zk tech stack. DeGate trusted setup includes 5 phase 2 (i.e. circuit-specific) \n contributions, Loopring trusted setup includes 16 phase 2 contributions. Circuit-specific phase builds on top \n of the [Perpetual Powers of Tau ceremony](https://github.com/privacy-scaling-explorations/perpetualpowersoftau).\n\n - Repo for Loopring trusted setup: [https://github.com/Loopring/trusted_setup/tree/master](https://github.com/Loopring/trusted_setup/tree/master), repo for DeGate trusted setup: [https://github.com/degatedev/trusted_setup/tree/master](https://github.com/degatedev/trusted_setup/tree/master)\n - Post for DeGate ceremony: [https://medium.com/degate/degate-completes-zk-trusted-setup-ceremony-4752301e379f](https://medium.com/degate/degate-completes-zk-trusted-setup-ceremony-4752301e379f)\n "
}
],
"verifierHashes": [
{
"hash": "0x4c18cccb70be9bd6c438cc6d558d3451114af2fcd2e45a4286afecf2f327b80d",
"name": "Loopring verifier block size 16",
"sourceLink": "https://github.com/Loopring/protocols/tree/master/packages/loopring_v3",
"proofSystem": {
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
"knownDeployments": [
{
"address": "0x6150343E0F43A17519c0327c41eDd9eBE88D01ef",
"chain": "ethereum"
"address": "eth:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 16, blockVersion = 17) on the verifier smart contract."
},
{
"hash": "0xf29dd53bbc041a71ed0ce5812b2795151a93d233f0b3d73205eaf1e3b5ebbb18",
"name": "Loopring verifier block size 32",
"sourceLink": "https://github.com/Loopring/protocols/tree/master/packages/loopring_v3",
"proofSystem": {
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
"knownDeployments": [
{
"address": "0x6150343E0F43A17519c0327c41eDd9eBE88D01ef",
"chain": "ethereum"
"address": "eth:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 32, blockVersion = 17) on the verifier smart contract."
},
{
"hash": "0xc1b762cee5cb2d339e88e5fc7ef9b3ab62887b150929f6e3599fef289838bae0",
"name": "Loopring verifier block size 64",
"sourceLink": "https://github.com/Loopring/protocols/tree/master/packages/loopring_v3",
"proofSystem": {
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
"knownDeployments": [
{
"address": "0x6150343E0F43A17519c0327c41eDd9eBE88D01ef",
"chain": "ethereum"
"address": "eth:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 64, blockVersion = 17) on the verifier smart contract."
},
{
"hash": "0x998a7b6031386f1ce64bbbfc9375b341ee4385289c1d4f121a62f1e3c73d3efb",
"name": "Loopring verifier block size 128",
"sourceLink": "https://github.com/Loopring/protocols/tree/master/packages/loopring_v3",
"proofSystem": {
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
"knownDeployments": [
{
"address": "0x6150343E0F43A17519c0327c41eDd9eBE88D01ef",
"chain": "ethereum"
"address": "eth:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 128, blockVersion = 17) on the verifier smart contract."
},
{
"hash": "0x765eff9d78d1abfe496040f999714d58df54c49753db801633762dd48b74f9ae",
"name": "Loopring verifier block size 256",
"sourceLink": "https://github.com/Loopring/protocols/tree/master/packages/loopring_v3",
"proofSystem": {
"id": "EthSnarks",
"type": "Groth16",
"name": "EthSnarks",
"description": "EthSnarks implementation of Groth16 proving system written in C++."
},
"knownDeployments": [
{
"address": "0x6150343E0F43A17519c0327c41eDd9eBE88D01ef",
"chain": "ethereum"
"address": "eth:0x6150343E0F43A17519c0327c41eDd9eBE88D01ef"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed vk array obtained by calling getVerificationKey(blockType = 0, blockSize = 256, blockVersion = 17) on the verifier smart contract."
}
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "AggchainECDSAMultisig",
"isVerified": true,
"address": "eth:0x92726F7dE49300DBdb60930066bc1d0803c0740B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719499031,
"transactionHash": "0x03c9a006f95a45fda2a18e475242078b8563715bc621e21e62a78962e9fb4e63",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
{
"timestamp": 1741176767,
"transactionHash": "0xc376c3725fb986eead241c5b7663e6e081f66b92984bc4b3f0c08d23a0101a35",
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
},
{
"timestamp": 1759404935,
"transactionHash": "0x4a9633f61bf7eacf4cfffefccc1e8a561fdaacfbed6470573463e28304b3906d",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
}
],
"description": "System contract defining the prism Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).\n* Roles:\n * **admin**: EOA 1\n * **aggchainSigners**: EOA 2\n * **forceBatchAddress**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x92726F7dE49300DBdb60930066bc1d0803c0740B#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 3, EOA 4\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherWrapped",
"wethAddress": "0x5A77f1443D16ee5761d310e38b62f77f726bC71c",
"tokensToAssignFromL1": [
"LUMIA"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"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"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x0e4C4CDd01ceCB01070E9Fdfe7600871e4ae996e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700021675,
"transactionHash": "0xc79cfab290a401347ecdb45319667db2187d95846fbe0afa45ebe533b9e58309",
"implementations": [
"eth:0x81CCFC10CB55B58449A3FEE870D63C4D61941DaC"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109567,
"transactionHash": "0x07329c5de3d281a32db65d3f66c8360fe0f228bddb79fdc80825e540627c9b2e",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0e4C4CDd01ceCB01070E9Fdfe7600871e4ae996e#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x85eA9c11cf3D4786027F7FD08F4406b15777e5f8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700021675,
"transactionHash": "0xa2425b071316f9bcd7b56f603bfb90ebb94833ab24bfdb0318278ce69615d86b",
"implementations": [
"eth:0x4Ec5C80Fa12d04DB3A208DD0Fa5C01178FF5a16e"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85eA9c11cf3D4786027F7FD08F4406b15777e5f8#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x87DAFf495b5F6c4f79CEeAAF85f1Ef3df3B30d21",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753168631,
"transactionHash": "0xc6ec7f05d6f2ee2fb924e13a47b170aaff2f8ae0dda026947a56dcae76fdcc7a",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x87DAFf495b5F6c4f79CEeAAF85f1Ef3df3B30d21#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x5456f02c08e9A018E42C39b351328E5AA864174A",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700021675,
"transactionHash": "0x96cbc2591b826790a8ef721a895889cf4cef735a8b41577acddf1fc3889b3655",
"implementations": [
"eth:0x5456f02c08e9A018E42C39b351328E5AA864174A"
]
},
{
"timestamp": 1700021675,
"transactionHash": "0xc2ca4d4e11fa334c6d9108f324117ef7600256c1f8041a266033b225903267b9",
"implementations": [
"eth:0x93f5d9CD5BE592F1DC602E0CF4A38148b880cd13"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109567,
"transactionHash": "0x07329c5de3d281a32db65d3f66c8360fe0f228bddb79fdc80825e540627c9b2e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109567,
"transactionHash": "0x07329c5de3d281a32db65d3f66c8360fe0f228bddb79fdc80825e540627c9b2e",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5456f02c08e9A018E42C39b351328E5AA864174A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x61E44dC0dae6888B5a301887732217d5725B0bFf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x61E44dC0dae6888B5a301887732217d5725B0bFf#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x6CC3268794c5d3E3d9d52adEfC748B59d536cb22",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700021675,
"transactionHash": "0x0b7b3fc23c744f9ba1d9be819afbf1ec831949217f72fcea2fb9ccf0b073e62f",
"implementations": [
"eth:0x4f993d43f697Cb4c63D719Bb8Dc762dcbbB11476"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109567,
"transactionHash": "0x07329c5de3d281a32db65d3f66c8360fe0f228bddb79fdc80825e540627c9b2e",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109567,
"transactionHash": "0x07329c5de3d281a32db65d3f66c8360fe0f228bddb79fdc80825e540627c9b2e",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6CC3268794c5d3E3d9d52adEfC748B59d536cb22#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x08Dea366F26C25a08C8D1C3568ad07d1e587136d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700021675,
"transactionHash": "0x862edb6ab42445b7c63a416197cc4b660bc10eef56a6a1698de23a06e18ccd12",
"implementations": [
"eth:0x81C2645D347a67c089169a4Da074aF7788650955"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109567,
"transactionHash": "0x07329c5de3d281a32db65d3f66c8360fe0f228bddb79fdc80825e540627c9b2e",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08Dea366F26C25a08C8D1C3568ad07d1e587136d#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x2839BaF8BbdA830e96896aA698A6183ea42295A8",
"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/0x2839BaF8BbdA830e96896aA698A6183ea42295A8#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x30332E9ec0833ECd34d6eb0bf5C14C442D0217F1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30332E9ec0833ECd34d6eb0bf5C14C442D0217F1#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x35d5D43271548c984662d4879FBc8e041Bc1Ff93#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x9793C7fD587b979D2894A0e52Eb41461378AFbF4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9793C7fD587b979D2894A0e52Eb41461378AFbF4#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
}
]
},
"escrows": [
{
"address": "0x85eA9c11cf3D4786027F7FD08F4406b15777e5f8",
"sinceTimestamp": 1700021675,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x85eA9c11cf3D4786027F7FD08F4406b15777e5f8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700021675,
"transactionHash": "0xa2425b071316f9bcd7b56f603bfb90ebb94833ab24bfdb0318278ce69615d86b",
"implementations": [
"eth:0x4Ec5C80Fa12d04DB3A208DD0Fa5C01178FF5a16e"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106123,
"transactionHash": "0xd68af1ee03a69c8215177fe7b44fbee51e722507e51a8351e767e459692f335e",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753368767,
"transactionHash": "0xb41226dab91e6857f94533a72be19210a412221cd34a454076d43efe17278af8",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768923371,
"transactionHash": "0xc3f6c800ed9b3ce1dc906bf687ca0452313ce4afd6428fa4248ab0b19238c6f9",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x85eA9c11cf3D4786027F7FD08F4406b15777e5f8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x61E44dC0dae6888B5a301887732217d5725B0bFf",
"sinceTimestamp": 1700021675,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x61E44dC0dae6888B5a301887732217d5725B0bFf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x35d5D43271548c984662d4879FBc8e041Bc1Ff93"
],
"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/0x61E44dC0dae6888B5a301887732217d5725B0bFf#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x7E1d17b580dD4F89037DB331430eAEe8B8e50c91",
"sinceTimestamp": 1724140259,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"DAI"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x613e87BE1cd75dEBC5e6e56a2AF2fED84162C142",
"sinceTimestamp": 1724140379,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sDAI"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x6D303CEE7959f814042D31E0624fB88Ec6fbcC1d",
"sinceTimestamp": 1700227943,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xD4efe33C66B8CdE33B8896a2126E41e5dB571b7e",
"sinceTimestamp": 1705069895,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x3Eec7c855aF33280F1eD38b93059F5aa5862E3ab",
"sinceTimestamp": 1705069499,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WBTC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x76624ff43D610F64177Bb9c194A2503642e9B803",
"sinceTimestamp": 1725056027,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"LBTC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x25d35C8796c9dcD3857abE90D802FC17b1FB55A5",
"sinceTimestamp": 1727390399,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"eBTC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x5F18C54e4E10287414A47925a24Ea3A8Cf4A9F50",
"sinceTimestamp": 1727390087,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"cbBTC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x76624ff43D610F64177Bb9c194A2503642e9B803",
"sinceTimestamp": 1727390367,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"cbBTC"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x4e798659b9846F1da7B6D6B5d09d581270aB6FEC",
"sinceTimestamp": 1709518033,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x3BcB0FF2D4B674784ac1c33bc85a047b5a726E71",
"sinceTimestamp": 1724140527,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDe"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xF982c812099d03AFFa0c8062aa1abcb584c23329",
"sinceTimestamp": 1717674807,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xBd282333710B9C7e33E8a37d027885A7C079Ae23",
"sinceTimestamp": 1711532017,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x2805B908a0F9CA58a2b3b7900341b4EBd0B994e9",
"sinceTimestamp": 1709502861,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x5e98A25d8d6FF69A8992d6Aa57948dFB77D4ECBa",
"sinceTimestamp": 1705566299,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDT"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x7D7aC8d55A9bD4152b703011f3E61AB3bB0A5592",
"sinceTimestamp": 1708294763,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SNX"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xeBB5D642aA8ccDeE98373D6aC3ee0602b63824b3",
"sinceTimestamp": 1709517155,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xDEf0bfBdf7530C75AB3C73f8d2F64d9eaA7aA98e",
"sinceTimestamp": 1704715451,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0xBb9CF28Bc1B41c5c7c76Ee1B2722C33eBB8fbD8C",
"sinceTimestamp": 1704715597,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC.e"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0xdD4c717a69763176d8B7A687728e228597eAB86d",
"sinceTimestamp": 1704715809,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0xE5967877065f111a556850d8f05b8DaD88edCEc9",
"sinceTimestamp": 1704715873,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wBTC"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0x44343AE5e9319b61c9DaD7876919eFdB03241b02",
"sinceTimestamp": 1705566299,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDT"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0x8574CBC539c26Df9ec11bA283218268101ff10e1",
"sinceTimestamp": 1708294759,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SNX"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0xAA8f9D05599F1a5d5929c40342c06a5Da063a4dE",
"sinceTimestamp": 1709502863,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0x5e027ad442e031424b5a2C0ad6f656662Be32882",
"sinceTimestamp": 1704715450,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0xFB7B06538d837e4212D72E2A38e6c074F9076E0B",
"sinceTimestamp": 1704715596,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC.e"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x8e9f58E6c206CB9C98aBb9F235E0f02D65dFc922",
"sinceTimestamp": 1704715806,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x3D20c6A2b719129af175E0ff7B1875DEb360896f",
"sinceTimestamp": 1704715871,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wBTC"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0xb2Cb9aDA6e00118dA8E83a6A53dF1EC6331A60a6",
"sinceTimestamp": 1705566298,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDT"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x8574CBC539c26Df9ec11bA283218268101ff10e1",
"sinceTimestamp": 1709502860,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x8180EcCC825b692ef65FF099a0A387743788bf78",
"sinceTimestamp": 1715846411,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x4BB4C3CDc7562f08e9910A0C7D8bB7e108861eB4",
"sinceTimestamp": 1715855051,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"rswETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x35d4D9bc79B0a543934b1769304B90d752691caD",
"sinceTimestamp": 1717724723,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"rsETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xE3E96892D30E0ee1a8131BAf87c891201F7137bf",
"sinceTimestamp": 1719833675,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x26Cf1Dc84694E04277F2Fe4C13E43597c6010C2A",
"sinceTimestamp": 1724140487,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDe"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x5324c6d731a3d9D740e880929E2c952bA27408De",
"sinceTimestamp": 1719833737,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "optimism",
"chainId": 10
},
{
"address": "0x8574CBC539c26Df9ec11bA283218268101ff10e1",
"sinceTimestamp": 1717674857,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH.mode"
],
"chain": "mode",
"chainId": 34443
},
{
"address": "0xAA8f9D05599F1a5d5929c40342c06a5Da063a4dE",
"sinceTimestamp": 1717724847,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"rsETH"
],
"chain": "mode",
"chainId": 34443
},
{
"address": "0xdE45E2bCCb99E0ed1a2876cFC51a71ca5e822641",
"sinceTimestamp": 1719833783,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "mode",
"chainId": 34443
},
{
"address": "0x3FBFD80EF7591658d1D7DdEC067F413eFd6f985c",
"sinceTimestamp": 1715846405,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x486936FB1CE805e8C46E71C69256e72f3f550d38",
"sinceTimestamp": 1717724755,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"rsETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x3c143EA5eBaB50ad6D2B2d14FA719234d1d38F1b",
"sinceTimestamp": 1719833706,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x5fAA613365331A5062F3A00126954b742aBEb2FF",
"sinceTimestamp": 1724140518,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDe"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x30c789674ad3B458886BBC9abf42EEe19EA05C1D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225207,
"transactionHash": "0x1a87e499b70152ea3a2a6efdd564f52ca0feafea4b5ebf3bec1dea1744ce26bd",
"implementations": [
"eth:0x1E5e634981564fc645dcbC6546aE618d7870B30a"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots. The challenge period can be reduced by the FinalityRelayerManager contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **challenger**: EOA 1\n * **finalityProvider**: FinalityRelayerManager\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30c789674ad3B458886BBC9abf42EEe19EA05C1D#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x895E00269A05848F3c9889EfA677D02fF7351a5D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0xeF01a6aE995791FfFcA3d70bDA7B91E5Fa1aD0aE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225099,
"transactionHash": "0x3fc415e1bb3f7da0c3242d8f9e94155fa39724cbbac34b0846b9a2249eaae22f",
"implementations": [
"eth:0xeF01a6aE995791FfFcA3d70bDA7B91E5Fa1aD0aE"
]
}
],
"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 MantaMultisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x895E00269A05848F3c9889EfA677D02fF7351a5D#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225231,
"transactionHash": "0x3ba5fd8ebd0374b77f27332c31ddfdac6e67d7317ab4668043a2e26cb0bb5996",
"implementations": [
"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x62b257A1b1fC81c4e6E5Dc5b47F1E6184341Cd58"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B95bC951EE0f553ba487327278cAc44f29715E5#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x635ba609680c55C3bDd0B3627b4c5dB21b13c310",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x9cDDc6F65eD67Ef19743fFDFD53501457ce8B51f"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694224931,
"transactionHash": "0xa9f1d5a75b77547488322b8de82f0c63c27cdab4e58ffb59ac181c606cfbf460",
"implementations": [
"eth:0x635ba609680c55C3bDd0B3627b4c5dB21b13c310"
]
},
{
"timestamp": 1694225183,
"transactionHash": "0xc778764049cb9f0cd852c1361f73a39b1e6aeb4b368a4456f2f77c34369eb6df",
"implementations": [
"eth:0x9cDDc6F65eD67Ef19743fFDFD53501457ce8B51f"
]
}
],
"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 MantaMultisig",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x635ba609680c55C3bDd0B3627b4c5dB21b13c310#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: MantaMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2DCa85BB892De55D8B262d1806114733106e8D1#code"
},
{
"name": "BLSApkRegistry",
"isVerified": true,
"address": "eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366"
],
"implementations": [
"eth:0x8ad2384aaf9525bd7B4D3f73e8CC07421af2046F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756743095,
"transactionHash": "0xfb62fc1475f085af10fc1e24a622ae14e47dc2d6dd542d45624a4dacb41071d9",
"implementations": [
"eth:0xbA8F537c029c3754e8EB34EA1cE2c0eaDE2745B5"
]
},
{
"timestamp": 1756743095,
"transactionHash": "0xe1efad46bfcd85ec8e1b55643fc79cbd833f53a28161ee11273302a5a717b837",
"implementations": [
"eth:0x8ad2384aaf9525bd7B4D3f73e8CC07421af2046F"
]
}
],
"description": "Contract used to register BLS keys and verify aggregated signatures. No specific threshold is enforced here, as all addresses to exclude from the signature check are provided as an input.\n* Roles:\n * **admin**: \n * **relayerManager**: EOA 7",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60#code"
}
]
},
"escrows": [
{
"address": "0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"sinceTimestamp": 1694224871,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225231,
"transactionHash": "0x3ba5fd8ebd0374b77f27332c31ddfdac6e67d7317ab4668043a2e26cb0bb5996",
"implementations": [
"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"sinceTimestamp": 1694224907,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x62b257A1b1fC81c4e6E5Dc5b47F1E6184341Cd58"
]
},
"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/0x3B95bC951EE0f553ba487327278cAc44f29715E5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x427Ea0710FA5252057F0D88274f7aeb308386cAf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710467267,
"transactionHash": "0x667a55493b70812eedb69586be570fa87bb305ff046ebd1419cdc71163f770ac",
"implementations": [
"eth:0x6Dbb7D9C5dC60844B8CF442ddC6Be081c060B2E3"
]
}
],
"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 MantleSecurityMultisig\n * **batcherHash**: EOA 1\n * **owner**: MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x427Ea0710FA5252057F0D88274f7aeb308386cAf#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig\n * **guardian**: MantleEngineeringMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x676A795fe6E43C17c668de16730c3F690FEB7120",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1687958039,
"transactionHash": "0x3ef2116cdd9366a646b6625affcf0cbe96bb3c59c3ffc629432d3f79ff1f886c",
"implementations": [
"eth:0x4692363048d0F32a2dE7816860D48fff0c61B24B"
]
},
{
"timestamp": 1710467267,
"transactionHash": "0x667a55493b70812eedb69586be570fa87bb305ff046ebd1419cdc71163f770ac",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xb8DE82551fA4BA3bE4B3d9097763EDBeED541308"
]
}
],
"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 MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x676A795fe6E43C17c668de16730c3F690FEB7120#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xb4133552BA49dFb60DA6eb5cA0102d0f94ce071f"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012#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": "MantleTokenProxyAdmin",
"isVerified": true,
"address": "eth:0x0cac2B1a172ac24012621101634DD5ABD6399ADd",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0cac2B1a172ac24012621101634DD5ABD6399ADd#code"
},
{
"name": "OPSuccinctL2OutputOracle",
"isVerified": true,
"address": "eth:0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xD1230865641561653406906Fb08873F011c19080"
]
},
{
"timestamp": 1758005207,
"transactionHash": "0xf9fc68effd8cbd421d25e87a357757fe6710c6c9c0d9c5270d2af5a37f675259",
"implementations": [
"eth:0x4059509fFb703B048D1e9Ce3118F90E759076f50"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantleSecurityMultisig\n * **initialProposer**: EOA 2\n * **owner**: MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31d543e7BE1dA6eFDc2206Ef7822879045B9f481#code"
},
{
"name": "L1MantleToken",
"isVerified": true,
"address": "eth:0x3c3a81e81dc49A522A592e7622A7E711c06bf354",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0cac2B1a172ac24012621101634DD5ABD6399ADd"
],
"implementations": [
"eth:0xCd368c1d80120b0Dd92447c87eB570154f8e685c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1687241795,
"transactionHash": "0x8f7867724cfba4b9b1b19ca140711809b40dda9ae245caf7bcff9473a5a7e45e",
"implementations": [
"eth:0xCd368c1d80120b0Dd92447c87eB570154f8e685c"
]
}
],
"description": "MNT token contract: Mantle uses Mantle (MNT) as the designated gas token, allowing users pay for gas in MNT.\n* Roles:\n * **admin**: MantleTokenProxyAdmin; ultimately MantleSecurityMultisig",
"upgradableBy": [
{
"name": "MantleSecurityMultisig",
"delay": "1d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3c3a81e81dc49A522A592e7622A7E711c06bf354#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d.\n* Roles:\n * **canceller**: MantleSecurityMultisig\n * **defaultAdmin**: MantleSecurityMultisig, TimelockController; ultimately MantleSecurityMultisig\n * **executor**: MantleSecurityMultisig\n * **proposer**: MantleSecurityMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x65331ff6F8B0fc2612F2a0deBD9d04Fce60a447F#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xca35F8338054739D138884685e08b39EE2217794",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: MantleSecurityMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xca35F8338054739D138884685e08b39EE2217794#code"
}
]
},
"escrows": [
{
"address": "0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"sinceTimestamp": 1710439967,
"tokens": [
"ETH",
"MNT"
],
"contract": {
"isVerified": true,
"address": "eth:0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710490775,
"transactionHash": "0xa5fff128e999954c7dfe8e3360d0844e439425124922e85cd32fdcf2e3582247",
"implementations": [
"eth:0xe1399f54ba2597b4EaDA9E3450c34D393fb131A7"
]
}
],
"description": "Main entry point for users depositing ETH, MNT.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xc54cb22944F2bE476E02dECfCD7e3E7d3e15A8Fb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"sinceTimestamp": 1687954103,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"FBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xca35F8338054739D138884685e08b39EE2217794"
],
"implementations": [
"eth:0xb4133552BA49dFb60DA6eb5cA0102d0f94ce071f"
]
},
"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/0x95fC37A27a2f68e3A647CDc081F0A89bb47c3012#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client. Data availability layer is set to EigenDA.",
"programUrl": "https://github.com/mantle-xyz/op-succinct/tree/v2.1.8/programs/aggregation",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/main) repo: `git checkout v2.1.8` . Commit hash should be `9ec9d1a6f4b13b06a1bdbcc11dd3217337ca6d3b`.\n2. Make sure docker is running by running `docker ps`\n3. From the `op-succinct` dir: `cargo run --bin config --release --features eigenda` to build the SP1 programs for EigenDA features and generate and print verification key hashes.\n ",
"hash": "0x006110a295396036ad8df48c333e2b99b11624799138fbc18e10181551e29eb1"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks. Data availability layer is set to EigenDA.",
"programUrl": "https://github.com/mantle-xyz/op-succinct/tree/v2.1.8/programs/range/eigenda",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [mantle-xyz/op-succinct](https://github.com/mantle-xyz/op-succinct/tree/main) repo: `git checkout v2.1.8` . Commit hash should be `9ec9d1a6f4b13b06a1bdbcc11dd3217337ca6d3b`.\n2. Make sure docker is running by running `docker ps`\n3. From the `op-succinct` dir: `cargo run --bin config --release --features eigenda` to build the SP1 programs for EigenDA features and generate and print verification key hashes.\n ",
"hash": "0x05044f60230e1ea664a43fa92e27735e3bbc97736c2e7ab961a5115a732a6da5"
}
],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"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": "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": "KailuaTreasury",
"isVerified": true,
"address": "eth:0xE4e456c64B9b0de5FE8a90d809180cA71534D623",
"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/0xE4e456c64B9b0de5FE8a90d809180cA71534D623#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": "KailuaGame",
"isVerified": true,
"address": "eth:0x78F8F8FED1d589b7098EC4B47220465A9Fa071C9",
"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/0x78F8F8FED1d589b7098EC4B47220465A9Fa071C9#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": "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"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711564019,
"transactionHash": "0x4a3c392216913f38eea145b6ae118c4afca5f7646da423b6c53f4f2eb9711b8a",
"implementations": [
"eth:0x04E9c063CDd58DC3598cdD53563A28e6c80eD4FB"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711563863,
"transactionHash": "0xb6048b3fdec477a8a9d48343457407e06a7842b89a78dbf00a8dc638cbdf6280",
"implementations": [
"eth:0x78e082c6A436fBAE2F257dC1aC568aA11Cd1Ee3B"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 2\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7BD909970B0EEdcF078De6Aeff23ce571663b8aA#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746482543,
"transactionHash": "0xce4e1521c0f1e6dad3da27a006376fd28094b567480135beeae8ae637e1d9acf",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **challengerFromDGF**: OpFoundationOperationsSafe; ultimately SaferSafes\n * **proposerFromDGF**: EOA 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7BFfF391A2dbbDc68A259792AC9748F50FcDE93E#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711563683,
"transactionHash": "0x4a7bbdb38394ad19a2f46253b1cda359eac192a526b0e423167178966682c377",
"implementations": [
"eth:0x0a47A44f1B2bb753474f8c830322554A96C9934D"
]
},
{
"timestamp": 1711563971,
"transactionHash": "0x05f5320ea8317a2e250665a748d50192aa45d4c8c726d8f54665795572991f26",
"implementations": [
"eth:0x26Ff00172942F88684516065AB15be3f2Efe4bBe"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0a47A44f1B2bb753474f8c830322554A96C9934D#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x50D700e97967F9115e3f999bDB263d69F6704680",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711563911,
"transactionHash": "0x9149d89768e27f1ac1b57eed43fda9ff5b183721554490c070257a34fcd370f7",
"implementations": [
"eth:0x04ECb956A07ce137e12aE2B3CDb966C314cD4eEE"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x50D700e97967F9115e3f999bDB263d69F6704680#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x120EB40F5FC6D2B47c67960bDb696a9e317C84b0#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711563923,
"transactionHash": "0x0e860b2f4c026995654839eeb9442b2d0979e950104601e17715d48f383f8158",
"implementations": [
"eth:0x0d3495a95eC5720453C0d70a88Bf14fe13ebe969"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1aaab4E20d2e4Bb992b5BCA2125e8bd3588c8730#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3dAa8aFA6e7f6CDD3be5f2Ea610a0e795B76BB1f#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
}
]
},
"escrows": [
{
"address": "0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956",
"sinceTimestamp": 1711563611,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711564019,
"transactionHash": "0x4a3c392216913f38eea145b6ae118c4afca5f7646da423b6c53f4f2eb9711b8a",
"implementations": [
"eth:0x04E9c063CDd58DC3598cdD53563A28e6c80eD4FB"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713559883,
"transactionHash": "0x5cc6333ba2dbc12eba44db7e3f014195596d9e02ebbfc4cd718dfc0eee0d1156",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749824735,
"transactionHash": "0xc43aa8d8362bf9b97a23818fd8eb62452543057ba81c2b803be18e0ff36610f5",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760040095,
"transactionHash": "0x9c091d94c0f98efb21730224c89e59e50d344b74e677ee6de2b91d2a16f565d2",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3F37aBdE2C6b5B2ed6F8045787Df1ED1E3753956#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3",
"sinceTimestamp": 1711563659,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x37Ff0ae34dadA1A95A4251d10ef7Caa868c7AC99"
],
"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/0x6d0f65D59b55B0FEC5d2d15365154DcADC140BF3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x59625d1FE0Eeb8114a4d13c863978F39b3471781",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715609087,
"transactionHash": "0xf9c4b516fbf6330483f4bb2dc6db4e544d1eb9d09a7b9cda3e578d48bcc10736",
"implementations": [
"eth:0x9Cb8F5CBD26d7843a6043EcaB3C12246F8F47FBA"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
}
],
"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 Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x59625d1FE0Eeb8114a4d13c863978F39b3471781#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xC975862927797812371A9Fb631f83F8f5e2240D5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715609087,
"transactionHash": "0x2b9629c950de2ee9defa34d449dd784caa1877200c1c6fabfbde02692a6d077f",
"implementations": [
"eth:0x08C033C6859093b2803e54DE715077bd400D5f6a"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109939,
"transactionHash": "0xac163aced928843d79753aeb9982745627bbd996c94435c06b4fcfbb9a55f728",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
}
],
"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 Mint Multisig\n * **batcherHash**: EOA 1\n * **owner**: Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC975862927797812371A9Fb631f83F8f5e2240D5#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xD2922A726501f027a5a5AC122BEc92bCfb437662",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753168979,
"transactionHash": "0x890123aa1378ecbbdad80f06afd9220310c9129cb140aa3507cbae480b5886cd",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"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 Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD2922A726501f027a5a5AC122BEc92bCfb437662#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x2cF123e0328AF3Ae81c331A029a5f837Dc2231ad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xDa5C416025D5eED8440667C5E80A7c35c2F56220"
],
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764923963,
"transactionHash": "0xe28d0c3cc9c154238295078ee4b235693ba51fe400a3c36892ff7763de5be31f",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
}
],
"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 Mint Multisig\n * **guardian**: Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cF123e0328AF3Ae81c331A029a5f837Dc2231ad#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2b3F201543adF73160bA42E1a5b7750024F30420",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"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 Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b3F201543adF73160bA42E1a5b7750024F30420#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xC2C908F3226d9082130D8e48378CD2eFb08B521D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715609087,
"transactionHash": "0xaf5add191c7db59e5fab7d219091600804921f8af99277aed816f25eb04a8a05",
"implementations": [
"eth:0x23B32340763d59905F2D4c18537C4720717D8515"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109939,
"transactionHash": "0xac163aced928843d79753aeb9982745627bbd996c94435c06b4fcfbb9a55f728",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109939,
"transactionHash": "0xac163aced928843d79753aeb9982745627bbd996c94435c06b4fcfbb9a55f728",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2C908F3226d9082130D8e48378CD2eFb08B521D#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xf80be9f7a74ab776b69d3F0dC5C08c39b3A0bA19",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715609063,
"transactionHash": "0x127974ee188b1f3ce9ff4ad58f1cb84fa84029b470db08a64958dd97d350d8c7",
"implementations": [
"eth:0xf80be9f7a74ab776b69d3F0dC5C08c39b3A0bA19"
]
},
{
"timestamp": 1715609087,
"transactionHash": "0x9d07d5c5f28d46fdc0b6ff4ecf7cdf165e162a5d44623955da21c7340686d8f5",
"implementations": [
"eth:0x958487e21ba9E073836d598E31f749726f23413f"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109939,
"transactionHash": "0xac163aced928843d79753aeb9982745627bbd996c94435c06b4fcfbb9a55f728",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109939,
"transactionHash": "0xac163aced928843d79753aeb9982745627bbd996c94435c06b4fcfbb9a55f728",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"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 Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf80be9f7a74ab776b69d3F0dC5C08c39b3A0bA19#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": "DelayedWETH",
"isVerified": true,
"address": "eth:0x6d4A27F3eb196E4d039a5EE5B510Cc4C89b7eA9a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753169003,
"transactionHash": "0xa90de4dd1b32d0418461155d9402679de53bf82530f5014d931619d855bba9b4",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"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 Mint Multisig\n * **owner**: Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d4A27F3eb196E4d039a5EE5B510Cc4C89b7eA9a#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x807c2aF3Ae99a20576B00b58327B594D47f837FB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"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 Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x807c2aF3Ae99a20576B00b58327B594D47f837FB#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Mint Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xC7Ab73aE577650565cE7337b09704570C3e379b7",
"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* Roles:\n * **challenger**: Mint Multisig\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC7Ab73aE577650565cE7337b09704570C3e379b7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xDa5C416025D5eED8440667C5E80A7c35c2F56220",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Mint Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa5C416025D5eED8440667C5E80A7c35c2F56220#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xF02012065Ef6121a2A59EA0C590f42803Cf101EA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715609087,
"transactionHash": "0x181249a39b81d87c5ac4bbf87178ad13f0c6b8f890e19be4045831dd54338d90",
"implementations": [
"eth:0x96C507B28A0c2C832B93ECe62F1cB3ca02C63840"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109939,
"transactionHash": "0xac163aced928843d79753aeb9982745627bbd996c94435c06b4fcfbb9a55f728",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"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 Mint Multisig",
"upgradableBy": [
{
"name": "Mint Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF02012065Ef6121a2A59EA0C590f42803Cf101EA#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"
}
]
},
"escrows": [
{
"address": "0x59625d1FE0Eeb8114a4d13c863978F39b3471781",
"sinceTimestamp": 1715609063,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x59625d1FE0Eeb8114a4d13c863978F39b3471781",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715609087,
"transactionHash": "0xf9c4b516fbf6330483f4bb2dc6db4e544d1eb9d09a7b9cda3e578d48bcc10736",
"implementations": [
"eth:0x9Cb8F5CBD26d7843a6043EcaB3C12246F8F47FBA"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108775,
"transactionHash": "0x94a3e5ce180dd13dc7a8e686f24b3458c85ba6d176d1020fb424403f7d000d04",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753370939,
"transactionHash": "0x0ddcc8af073f449f419c8e7c22c408b8dd73c48e2da61136088ad965a0e8ddaf",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1765214783,
"transactionHash": "0x4946776c2d4568490d0280564f07c06afb9080b3e69af8d1db72321c6148cf55",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x59625d1FE0Eeb8114a4d13c863978F39b3471781#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2b3F201543adF73160bA42E1a5b7750024F30420",
"sinceTimestamp": 1715609063,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2b3F201543adF73160bA42E1a5b7750024F30420",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc684075a7Cc997Aa2e72152c330BDAc73FeacbDF"
],
"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/0x2b3F201543adF73160bA42E1a5b7750024F30420#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700167631,
"transactionHash": "0x8473b263561fb96ae9e89d6254e2bdda4bcb7b3d75442c49b4528defab1bf382",
"implementations": [
"eth:0x951754B08C52b2aC5d5a2aF1D52C2D12aED5Bcaf"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 2\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5e6432F18Bc5d497B1Ab2288a025Fbf9D69E2221#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746482939,
"transactionHash": "0xb2ce9b465ae911051c9ed9ea6d1b521785c728cffda614176b1c5f68016bfaa0",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **challengerFromDGF**: OpFoundationOperationsSafe; ultimately SaferSafes\n * **proposerFromDGF**: EOA 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6f13EFadABD9269D6cEAd22b448d434A1f1B433E#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700167631,
"transactionHash": "0x1143694680c231c1cae10bbffc56cdd0643ab0efb3e433a4aced170af72fc37e",
"implementations": [
"eth:0xad3DC277d3242938F8Be18f0560e3d9B9988C46A"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1722547259,
"transactionHash": "0xa313efb0fa16910e1b0b17dc5ad9890de6d45a95f12c78b2d3ae312daf212785",
"implementations": [
"eth:0x57e5AB742DDa19b60Fa2A43275722296B05A661A"
]
},
{
"timestamp": 1722547259,
"transactionHash": "0xa313efb0fa16910e1b0b17dc5ad9890de6d45a95f12c78b2d3ae312daf212785",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1722547523,
"transactionHash": "0x9154d2b581e84b15615b4a857476af9fa6b682622d6e30e7c28bae6331a5fe39",
"implementations": [
"eth:0x57e5AB742DDa19b60Fa2A43275722296B05A661A"
]
},
{
"timestamp": 1722547523,
"transactionHash": "0x9154d2b581e84b15615b4a857476af9fa6b682622d6e30e7c28bae6331a5fe39",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x2901dA832a4D0297FF0691100A8E496626cc626D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700167631,
"transactionHash": "0xb29209e447dc6b3a0e8b8980a5412f3f964d63e500b75ec78773454d948e2b31",
"implementations": [
"eth:0x8b91Af069928bA6591c950354d1EA29e08192Bf8"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2901dA832a4D0297FF0691100A8E496626cc626D#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x735aDBbE72226BD52e818E7181953f42E3b0FF21",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x735aDBbE72226BD52e818E7181953f42E3b0FF21#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700167631,
"transactionHash": "0x58e9f85e8dff61e2d9b22bf79fc2052bc497cc5dd18a8e72e99d436fe229acb6",
"implementations": [
"eth:0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f"
]
},
{
"timestamp": 1700167631,
"transactionHash": "0xad662056dcd7390e217500699f06939418ccd55cf0ee8c5839cc5f5e90b84292",
"implementations": [
"eth:0x14DdD08c0e28764FC89a266eC95A93619b0EE835"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95bDCA6c8EdEB69C98Bd5bd17660BaCef1298A6f#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1C823D585B2b4325A0DB845cEBe32FC7Ad67514a#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x470d87b1dae09a454A43D1fD772A561a03276aB7#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x69216395A62dFb243C05EF4F1C27AF8655096a95",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700167631,
"transactionHash": "0x8a428a8fcd89e1f7bd5dcbe87d31ba8f81a0d857bbcf1a7bf9a1a030b37dbe7c",
"implementations": [
"eth:0xc0c6A811BBf07FA01b946F1C46a9A94c2eE8C73E"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69216395A62dFb243C05EF4F1C27AF8655096a95#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xEB9d917868276cee5457609dbBF470FdE41BADE8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEB9d917868276cee5457609dbBF470FdE41BADE8#code"
}
]
},
"escrows": [
{
"address": "0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07",
"sinceTimestamp": 1700167631,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700167631,
"transactionHash": "0x1143694680c231c1cae10bbffc56cdd0643ab0efb3e433a4aced170af72fc37e",
"implementations": [
"eth:0xad3DC277d3242938F8Be18f0560e3d9B9988C46A"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713550931,
"transactionHash": "0xfd62d0d284c8655e916a5cdd2472b461ed5686ab1414b834a1ffdb06a44f63b4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1722547259,
"transactionHash": "0xa313efb0fa16910e1b0b17dc5ad9890de6d45a95f12c78b2d3ae312daf212785",
"implementations": [
"eth:0x57e5AB742DDa19b60Fa2A43275722296B05A661A"
]
},
{
"timestamp": 1722547259,
"transactionHash": "0xa313efb0fa16910e1b0b17dc5ad9890de6d45a95f12c78b2d3ae312daf212785",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1722547523,
"transactionHash": "0x9154d2b581e84b15615b4a857476af9fa6b682622d6e30e7c28bae6331a5fe39",
"implementations": [
"eth:0x57e5AB742DDa19b60Fa2A43275722296B05A661A"
]
},
{
"timestamp": 1722547523,
"transactionHash": "0x9154d2b581e84b15615b4a857476af9fa6b682622d6e30e7c28bae6331a5fe39",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1749825119,
"transactionHash": "0xd8fd08e0a66a0f5c0e5aed4e078e77bf8c3e50c27d09db458e2b04e7c6b2f5e7",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760040863,
"transactionHash": "0x3ac45d51da454abfba887b5ab1dae831a78e068615893fb62d8034437bb17063",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x8B34b14c7c7123459Cf3076b8Cb929BE097d0C07#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x735aDBbE72226BD52e818E7181953f42E3b0FF21",
"sinceTimestamp": 1700167631,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x735aDBbE72226BD52e818E7181953f42E3b0FF21",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x470d87b1dae09a454A43D1fD772A561a03276aB7"
],
"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/0x735aDBbE72226BD52e818E7181953f42E3b0FF21#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+8 -4
+2 -2
{
"arbitrum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "arb1:0x30ea093b14364f21Dd74D7Bd43e2FAB1279D3738",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "arb1:0x152FFeF04881BD1390D2A52009f42d56EaC7AA03",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-3"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Caldera Multisig 1",
"name": "Caldera Multisig 1",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x6FD149B3d41fd860B9Da1A6fE54e902eF41F68BF",
"type": "Contract",
"isVerified": true,
"name": "0x6FD1…68BF",
"url": "https://arbiscan.io/address/0x6FD149B3d41fd860B9Da1A6fE54e902eF41F68BF"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xbCDb12b7a5bDe037e342a6BE7fd5582b9D93C232",
"type": "EOA",
"isVerified": true,
"name": "0xbCDb…C232",
"url": "https://arbiscan.io/address/0xbCDb12b7a5bDe037e342a6BE7fd5582b9D93C232"
},
{
"address": "arb1:0xe5219fe14E2FD520Ff80be036790913053d1575d",
"type": "EOA",
"isVerified": true,
"name": "0xe521…575d",
"url": "https://arbiscan.io/address/0xe5219fe14E2FD520Ff80be036790913053d1575d"
},
{
"address": "arb1:0x62ea938a30826c8794C8B8BbA775B91cAE3B849A",
"type": "EOA",
"isVerified": true,
"name": "0x62ea…849A",
"url": "https://arbiscan.io/address/0x62ea938a30826c8794C8B8BbA775B91cAE3B849A"
},
{
"address": "arb1:0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0",
"type": "EOA",
"isVerified": true,
"name": "0x9e14…BcD0",
"url": "https://arbiscan.io/address/0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0"
},
{
"address": "arb1:0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b",
"type": "EOA",
"isVerified": true,
"name": "0xe62a…6A6b",
"url": "https://arbiscan.io/address/0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b"
},
{
"address": "arb1:0xEC114946E7213d113c9B9481028271B5E9e09371",
"type": "EOA",
"isVerified": true,
"name": "0xEC11…9371",
"url": "https://arbiscan.io/address/0xEC114946E7213d113c9B9481028271B5E9e09371"
},
{
"address": "arb1:0xbf853295743511e8DC5F03809d209C33fC136d24",
"type": "EOA",
"isVerified": true,
"name": "0xbf85…6d24",
"url": "https://arbiscan.io/address/0xbf853295743511e8DC5F03809d209C33fC136d24"
},
{
"address": "arb1:0x356000Cec4fC967f8FC372381D983426760A0391",
"type": "EOA",
"isVerified": true,
"name": "Caldera",
"url": "https://arbiscan.io/address/0x356000Cec4fC967f8FC372381D983426760A0391"
}
],
"discoveryDrivenData": true
},
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 2/4 threshold. \n* Can interact with EspressoTEEVerifier\n * change the modular TEE verifier contracts \n* Can interact with EspressoSGXTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers \n* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers ",
"accounts": [
{
"address": "arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5",
"type": "Contract",
"isVerified": true,
"name": "0x6Dc6…1dA5",
"url": "https://arbiscan.io/address/0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63",
"type": "EOA",
"isVerified": true,
"name": "0xb9e4…9b63",
"url": "https://arbiscan.io/address/0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63"
},
{
"address": "arb1:0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6",
"type": "EOA",
"isVerified": true,
"name": "0x5582…26e6",
"url": "https://arbiscan.io/address/0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6"
},
{
"address": "arb1:0x5E768dd03BD821703ef825e057434De85913EEAC",
"type": "EOA",
"isVerified": true,
"name": "0x5E76…EEAC",
"url": "https://arbiscan.io/address/0x5E768dd03BD821703ef825e057434De85913EEAC"
},
{
"address": "arb1:0x00B96a8454dc757240e475B5e6e7DcAAf401930f",
"type": "EOA",
"isVerified": true,
"name": "0x00B9…930f",
"url": "https://arbiscan.io/address/0x00B96a8454dc757240e475B5e6e7DcAAf401930f"
}
],
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * ArbitrumBlobstream \n* Can interact with ArbitrumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997",
"type": "Contract",
"isVerified": true,
"name": "0x738a…7997",
"url": "https://arbiscan.io/address/0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://arbiscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "arb1:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://arbiscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
},
{
"address": "arb1:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://arbiscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "arb1:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://arbiscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "arb1:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://arbiscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "arb1:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://arbiscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0x2E5d207a4C0F7e7C52F6622DCC6EB44bC0fE1A13",
"type": "EOA",
"isVerified": true,
"name": "0x2E5d…1A13",
"url": "https://arbiscan.io/address/0x2E5d207a4C0F7e7C52F6622DCC6EB44bC0fE1A13"
}
],
"chain": "arbitrum",
"description": "* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "arb1:0x30ea093b14364f21Dd74D7Bd43e2FAB1279D3738",
"type": "EOA",
"isVerified": true,
"name": "0x30ea…3738",
"url": "https://arbiscan.io/address/0x30ea093b14364f21Dd74D7Bd43e2FAB1279D3738"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) \n* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "arb1:0x152FFeF04881BD1390D2A52009f42d56EaC7AA03",
"type": "EOA",
"isVerified": true,
"name": "0x152F…AA03",
"url": "https://arbiscan.io/address/0x152FFeF04881BD1390D2A52009f42d56EaC7AA03"
}
],
"chain": "arbitrum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-4-and-EOA-5",
"name": "EOA 4 and EOA 5",
"accounts": [
{
"address": "arb1:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://arbiscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "arb1:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://arbiscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "arbitrum",
"description": "* Can interact with ArbitrumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * BaseBlobstream \n* Can interact with BaseBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6",
"type": "Contract",
"isVerified": true,
"name": "0x6ABa…1Ca6",
"url": "https://basescan.org/address/0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://basescan.org/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "base:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://basescan.org/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "base:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://basescan.org/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "base:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://basescan.org/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "base:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://basescan.org/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "base:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://basescan.org/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-6-and-EOA-7",
"name": "EOA 6 and EOA 7",
"accounts": [
{
"address": "base:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://basescan.org/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "base:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://basescan.org/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "base",
"description": "* Can interact with BaseBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [],
"actors": [
{
"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": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * EthereumBlobstream \n* Can interact with EthereumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6",
"type": "Contract",
"isVerified": true,
"name": "0x8bF3…18E6",
"url": "https://etherscan.io/address/0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://etherscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "eth:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://etherscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "eth:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://etherscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "eth:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://etherscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "eth:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://etherscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-8-and-EOA-9",
"name": "EOA 8 and EOA 9",
"accounts": [
{
"address": "eth:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://etherscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "eth:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://etherscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "ethereum",
"description": "* Can interact with EthereumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
}
}
+6 -2
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x0f28D76Ec5c62b502625351726b4A3E3F54FF5F0",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x92ff91308F5f1036435f23c2F4F136Bb7475425d"
],
"implementations": [
"arb1:0x4f82B5de97Ad3690ee319878083503178Fd8E0B9",
"arb1:0x8522769aEF1A87bE45530E0C84834BCce38CA9Bd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xc326D023758d7D212d529D1E58D7f271CAe49fcf",
"arb1:0xD92D49e8A2230E2C7a73c3ff4Df1AED09dA32a07"
]
},
{
"timestamp": 1731480884,
"transactionHash": "0x9a8ae683e857b80a843f7f071b0f831ac8162c6ac2c09fd9a8a514809d80c7af",
"implementations": [
"arb1:0x4f82B5de97Ad3690ee319878083503178Fd8E0B9",
"arb1:0x8522769aEF1A87bE45530E0C84834BCce38CA9Bd"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 1, EOA 1\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 1, EOA 1\n * **validators**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0f28D76Ec5c62b502625351726b4A3E3F54FF5F0#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x0fFe9ACC296ddd4De5F616Aa482C99fA4b41A3E2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x481863c96f949F5E13932ec2F65470C0CF83808d"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x1d182075d07744D71E37f77f1654165f6DAFad08"
]
},
{
"timestamp": 1731472488,
"transactionHash": "0xa3cef71c7eacc17dedd4ff7a2c732cd42e982d2ca5c620fe8364225fce9760ab",
"implementations": [
"arb1:0x79177caeDf321963EFed06E562017181B2e8aDC7"
]
},
{
"timestamp": 1746463926,
"transactionHash": "0x6018ec86bbda22965cae10bd0862c749181c4101bbc3eaff562cfd66a67f0377",
"implementations": [
"arb1:0x645341A2C76cD94324cBA658c19Acca2297b619C"
]
},
{
"timestamp": 1746649259,
"transactionHash": "0xcd0e8af41249440524c34f999e8033e63b5b2120088982cba91c32976a0a81d8",
"implementations": [
"arb1:0x7A9A0974F98052dA2F10DC9a50E3e348CDc62607"
]
},
{
"timestamp": 1751386630,
"transactionHash": "0x6e4d22b6b61eeffdbd42e8fe52446bb966dd46592ba723bc43edaf1a7cc4f678",
"implementations": [
"arb1:0x481863c96f949F5E13932ec2F65470C0CF83808d"
]
}
],
"description": "The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here. This version of the SequencerInbox also supports commitments to data that is posted to Celestia.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1\n * **batchPosterManager**: EOA 2\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0fFe9ACC296ddd4De5F616Aa482C99fA4b41A3E2#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x7BB97862CA342B5fbe2AE2cF2E954F6327f587b1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x0686dc9F334F8C0f0a9646f48775aa002757AFFE"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x935239e066F4F449D87D600e6d7c1a4F24c50f97"
]
},
{
"timestamp": 1731472488,
"transactionHash": "0xa3cef71c7eacc17dedd4ff7a2c732cd42e982d2ca5c620fe8364225fce9760ab",
"implementations": [
"arb1:0x3bD530a9a48F17052D5d3c30e7582Fcb42BdFD23"
]
},
{
"timestamp": 1731480884,
"transactionHash": "0x9a8ae683e857b80a843f7f071b0f831ac8162c6ac2c09fd9a8a514809d80c7af",
"implementations": [
"arb1:0x84c179B5651A762a81A490BA03D27997A5922EC1"
]
},
{
"timestamp": 1746649259,
"transactionHash": "0xcd0e8af41249440524c34f999e8033e63b5b2120088982cba91c32976a0a81d8",
"implementations": [
"arb1:0x0686dc9F334F8C0f0a9646f48775aa002757AFFE"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7BB97862CA342B5fbe2AE2cF2E954F6327f587b1#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xE1d32C985825562edAa906fAC39295370Db72195",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xC5Db571093C4600559e239497d147476F7543b15"
]
},
{
"timestamp": 1745531035,
"transactionHash": "0x3b143e23963a08ef4f73468ac748608d292faa7062295e86224befc1c41e8726",
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE1d32C985825562edAa906fAC39295370Db72195#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x92ff91308F5f1036435f23c2F4F136Bb7475425d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1\n * **executors**: Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x92ff91308F5f1036435f23c2F4F136Bb7475425d#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x235000876bd58336C802B3546Fc0250f285fCc79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0xbFfd05964F6d7AE4B55eB8A7086d88EEEcbF5f76"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x2675b9DEb473ECaC13ddd71dF8A0Ef13FeF6a75D"
]
},
{
"timestamp": 1746463926,
"transactionHash": "0x6018ec86bbda22965cae10bd0862c749181c4101bbc3eaff562cfd66a67f0377",
"implementations": [
"arb1:0xdec03E497222017550Fb83273d8FB4546eaDA625"
]
},
{
"timestamp": 1746649259,
"transactionHash": "0xcd0e8af41249440524c34f999e8033e63b5b2120088982cba91c32976a0a81d8",
"implementations": [
"arb1:0xbFfd05964F6d7AE4B55eB8A7086d88EEEcbF5f76"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x235000876bd58336C802B3546Fc0250f285fCc79#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019098,
"transactionHash": "0x23ef7ccf294b19a7ece9a717b1f66c067825a5c354b3ada4c8e323742e562d64",
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xb255de22d39a26D4CbcAFd6Cf660ccaCa047e95B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0xCa2F31F3C6553c2FD9897f7AA464406a431959A9"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xCa2F31F3C6553c2FD9897f7AA464406a431959A9"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb255de22d39a26D4CbcAFd6Cf660ccaCa047e95B#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0xAeAe9616A02dA527FceA2AC444EC918C7BfB9CdF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x922db00d292477AD99Ef8A0c41101a664Ee79D2b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019098,
"transactionHash": "0x23ef7ccf294b19a7ece9a717b1f66c067825a5c354b3ada4c8e323742e562d64",
"implementations": [
"arb1:0x922db00d292477AD99Ef8A0c41101a664Ee79D2b"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xAeAe9616A02dA527FceA2AC444EC918C7BfB9CdF#code"
},
{
"name": "CertManager",
"isVerified": true,
"address": "arb1:0x1A484E3f74984d29EBC39909535D45896502a3E7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1A484E3f74984d29EBC39909535D45896502a3E7#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x23b7734232dA19D2Cf73010a25C8Ffc4eBfc2f5f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x23b7734232dA19D2Cf73010a25C8Ffc4eBfc2f5f#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x59CDE86f1a538a7a2329269d3704CA302DF23736",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x59CDE86f1a538a7a2329269d3704CA302DF23736#code"
},
{
"name": "QuoteVerifier",
"isVerified": true,
"address": "arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x69523d25E25e5c78d828Df90459b75F189D40Cf7#code"
},
{
"name": "EspressoTEEVerifier",
"isVerified": true,
"address": "arb1:0x7A7E3B3eB8c799360E65d4fE2f0e108dB78721c3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7A7E3B3eB8c799360E65d4fE2f0e108dB78721c3#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x7d46570d3Cd9D8F5e01bad3144141a031a94d7B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (ArbitrumBlobstream) as source of truth for the DA referenced by the fault proof.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7d46570d3Cd9D8F5e01bad3144141a031a94d7B8#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x7E67B50d510929610f840fb09707feA01b8E457B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7E67B50d510929610f840fb09707feA01b8E457B#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x9676D55Ccd46ce72235b16bA645008D1D3350B14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0xf2bCB26dbb571EBC82CFAe6453AeF0DE90d93421"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xf2bCB26dbb571EBC82CFAe6453AeF0DE90d93421"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9676D55Ccd46ce72235b16bA645008D1D3350B14#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x9e83136d4B3AD04C766591EA51712F9aEa3194C0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9e83136d4B3AD04C766591EA51712F9aEa3194C0#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0xe3b13e7b160aE4b799A7B3F9877316e717706291",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe3b13e7b160aE4b799A7B3F9877316e717706291#code"
},
{
"name": "EspressoSGXTEEVerifier",
"isVerified": true,
"address": "arb1:0xEA25045bC30ceE23A280c51020F0bBb78781A297",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an Intel SGX TEE.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xEA25045bC30ceE23A280c51020F0bBb78781A297#code"
},
{
"name": "EspressoNitroTEEVerifier",
"isVerified": true,
"address": "arb1:0xf55BeB891B11084B923F3Fc8e6221Db1Ca61B7f5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an AWS Nitro TEE.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf55BeB891B11084B923F3Fc8e6221Db1Ca61B7f5#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 4, EOA 5",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 6, EOA 7",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"ethereum": [
{
"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": "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": "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": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 8, EOA 9",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
]
},
"escrows": [
{
"address": "0xE1d32C985825562edAa906fAC39295370Db72195",
"sinceTimestamp": 1712019082,
"tokens": [
"MOLTEN"
],
"contract": {
"isVerified": true,
"address": "arb1:0xE1d32C985825562edAa906fAC39295370Db72195",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xC5Db571093C4600559e239497d147476F7543b15"
]
},
{
"timestamp": 1745531035,
"transactionHash": "0x3b143e23963a08ef4f73468ac748608d292faa7062295e86224befc1c41e8726",
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows MOLTEN sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xE1d32C985825562edAa906fAC39295370Db72195#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80",
"sinceTimestamp": 1712019098,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019098,
"transactionHash": "0x23ef7ccf294b19a7ece9a717b1f66c067825a5c354b3ada4c8e323742e562d64",
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "Celestia Nitro 3.2.1 wasmModuleRoot",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games, which uses Celestia DA.",
"programUrl": "https://github.com/celestiaorg/nitro/tree/v3.2.1-rc.1/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [celestiaorg/nitro](https://github.com/celestiaorg/nitro/tree/v3.2.1-rc.1) repo: `git checkout v3.2.1-rc.1` . Commit hash should be `9e6fa83f56d3d4d46226c5f0687c949476e08917`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xe81f986823a85105c5fd91bb53b4493d38c0c26652d23f76a7405ac889908287"
}
],
"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": [
"arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "ZkEvmVerifierV1",
"isVerified": true,
"address": "eth:0x045d4BC73Bd1918192f34e98532A5272Ef620423",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A snark verifier based on SP1 by Succinct. It verifies RISC-V execution in a PLONK proof. Used to verify the validity of L2 state transitions for single round fraud proofs.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x045d4BC73Bd1918192f34e98532A5272Ef620423#code"
},
{
"name": "L1ETHGateway",
"isVerified": true,
"address": "eth:0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729307603,
"transactionHash": "0x2054355788d3d4ae212cb29348eee2664d126305b4ace5fe2269871cd9165713",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729341335,
"transactionHash": "0x0bff29c5d35495d0e9c22547b91c8e9e468edbfa2e8ccf1872de99a9f06e63ef",
"implementations": [
"eth:0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c"
]
}
],
"description": "Contract used to bridge ETH from L1 to L2.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code"
},
{
"name": "L1MessageQueueWithGasPriceOracle",
"isVerified": true,
"address": "eth:0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729307207,
"transactionHash": "0xed442ee7f96c1151761ddca9e4b923adff4e0703bc9ae42ca30bf4356f195f5d",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729330799,
"transactionHash": "0xae27c6c83cea4ce8b8a923fddfb122f66e63139e514ba0624a5373b1a1f2829c",
"implementations": [
"eth:0x828F68e2E05a34fA836416F124350E25021876ac"
]
},
{
"timestamp": 1736755919,
"transactionHash": "0x60cc38cb058516da361ecd5f548fc9216fbcda9eb08255b529ebbf78dac44f7b",
"implementations": [
"eth:0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA"
]
},
{
"timestamp": 1772517791,
"transactionHash": "0x29632a0458dbc5cbad5e831228a54c118e8e0746bff06fcf151cad568079a318",
"implementations": [
"eth:0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa"
]
}
],
"description": "Contains the array of queued L1 -> L2 messages, either appended using the L1Messenger or the EnforcedTxGateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code"
},
{
"name": "L1StandardERC20Gateway",
"isVerified": true,
"address": "eth:0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729307651,
"transactionHash": "0x588ba3041901915cf5dda72776946664559ea839ead325836697c3d6764608b4",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729341383,
"transactionHash": "0xecc550f05d2956f7b7782408e784270c2dd858fd1add437f7292309f9be0795e",
"implementations": [
"eth:0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301"
]
}
],
"description": "Contract used to bridge ERC20 tokens from L1 to L2. It uses a fixed token list.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x542675E90E269F20ecbb9e0095d4751ac155B530",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8654061457582c867B77A3a9f4ca714dFc84Ec17"
],
"implementations": [
"eth:0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770779267,
"transactionHash": "0x8758e296217ea0a7f75403d57eb75eaa7067a45dd1b9cfc070e7fb1c1d9f6554",
"implementations": [
"eth:0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353"
]
}
],
"description": "A timelock with access control. The current minimum delay is 0s.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1\n * **canceller**: Morph Multisig 2\n * **defaultAdmin**: Morph Multisig 1, TimelockController; ultimately Morph Multisig 1\n * **executor**: Morph Multisig 1\n * **proposer**: Morph Multisig 2",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x542675E90E269F20ecbb9e0095d4751ac155B530#code"
},
{
"name": "MultipleVersionRollupVerifier",
"isVerified": true,
"address": "eth:0x5d1584c27b4aD233283c6da1ca1B825d6f220EC1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Used to update the verifier and keep track of current and old versions. Routes to a registered verifier by batch index, so that every batch is verified by the latest verifier that is enabled for this batch.\n* Roles:\n * **owner**: Morph Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5d1584c27b4aD233283c6da1ca1B825d6f220EC1#code"
},
{
"name": "ZkEvmVerifierV1",
"isVerified": true,
"address": "eth:0x5ff102a4A4Ce2040288a797CE4CCCa85eE1E2d70",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A snark verifier based on SP1 by Succinct. It verifies RISC-V execution in a PLONK proof. Used to verify the validity of L2 state transitions for single round fraud proofs.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5ff102a4A4Ce2040288a797CE4CCCa85eE1E2d70#code"
},
{
"name": "L1GatewayRouter",
"isVerified": true,
"address": "eth:0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729307555,
"transactionHash": "0x47781299a90c1fdd6771fbf104e0433f05cc7b610d63ce9368349a41f563b3c8",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729331927,
"transactionHash": "0xeda36c4631ff08b30a6812f16d35626894001ea8259fe51f1e38fa8ea78d3d37",
"implementations": [
"eth:0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819"
]
}
],
"description": "Main entrypoint for depositing ETH and ERC20 tokens, which are then forwarded to the correct escrow.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1\n * **owner**: Morph Multisig 2",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a#code"
},
{
"name": "Rollup",
"isVerified": true,
"address": "eth:0x759894Ced0e6af42c26668076Ffa84d02E3CeF60",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729307507,
"transactionHash": "0xfb3bc602abb088d5d94e6869d56417de3c16a3966e5c6abfa4d157dfbcc36cba",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729331495,
"transactionHash": "0xeb4cc4248a0b3f459f4d7ab5877114fd4f55fd073c78347df548a9f03013068e",
"implementations": [
"eth:0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326"
]
},
{
"timestamp": 1729432115,
"transactionHash": "0xd60de4a76f275ec7931bc430b7440f07c15f30028195405f855bd98c33ad72d6",
"implementations": [
"eth:0x073403E147a8e607b80985fe458c0B527287278F"
]
},
{
"timestamp": 1732765919,
"transactionHash": "0xa452e20183f6860f105cb398bccc9d75dd3758444b956061b3031d1f0a33c424",
"implementations": [
"eth:0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A"
]
},
{
"timestamp": 1736753519,
"transactionHash": "0x809b1d9bba9fd8f61c038603ddf7a6f0a079db83a4a6d341cf23d2af5764a9be",
"implementations": [
"eth:0x43190DfD1F572Cb56B1942B44482d1774151D77A"
]
},
{
"timestamp": 1747033883,
"transactionHash": "0x1cd98e49b0d0c30a39c97683c374f5d3541d1ed02b14272a7113709fe01700d7",
"implementations": [
"eth:0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec"
]
},
{
"timestamp": 1764060695,
"transactionHash": "0x27b0e1b46f9878a502c68e414bc6fea028c3a551760e5687c56bdd4eda4f31c9",
"implementations": [
"eth:0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5"
]
},
{
"timestamp": 1772517971,
"transactionHash": "0xc86bc6dc60ad304afbc7f423668a272434c17dbf4a0bb27906d74f0940a6eab1",
"implementations": [
"eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3"
]
},
{
"timestamp": 1774575251,
"transactionHash": "0x8eec835066ebedafa6430fc7b0cd1de2b7a46eb09e56519868ca9dbb938f4c8f",
"implementations": [
"eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF"
]
}
],
"description": "The main contract of the Morph rollup. Allows to post transaction data and state roots and implements the the proof system. Sequencing and proposing are behind a whitelist. If the EnforcedTxGateway is not paused, any sequencer must include at least one L1 -> L2 message in their proposal if the oldest message is > 7d old. If the Sequencers are censoring or down for more than 7d, users can permissionlessly propose and prove via `commitBatchWithProof()`.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1\n * **challengers**: EOA 1, EOA 10, EOA 11, EOA 13, EOA 14, EOA 15, EOA 16, EOA 18, EOA 19, EOA 2, EOA 20, EOA 21, EOA 22, EOA 23, EOA 24, EOA 25, EOA 26, EOA 27, EOA 28, EOA 3, EOA 30, EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 4, EOA 40, EOA 41, EOA 42, EOA 5, EOA 6, EOA 8, EOA 9, Morph Multisig 2\n * **owner**: Morph Multisig 2",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8654061457582c867B77A3a9f4ca714dFc84Ec17",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Morph Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8654061457582c867B77A3a9f4ca714dFc84Ec17#code"
},
{
"name": "EnforcedTxGateway",
"isVerified": true,
"address": "eth:0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0xCb13746Fc891fC2e7D824870D00a26F43fE6123e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729308143,
"transactionHash": "0x42f9fb783f90953e26e04d4f27a703daa2992362fe44c5e11d646dae054e1e6b",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729341695,
"transactionHash": "0x52cd27aa90911acebc0bec090cf04928fd3663207dc55381d57c4a47e1dda26a",
"implementations": [
"eth:0xCb13746Fc891fC2e7D824870D00a26F43fE6123e"
]
}
],
"description": "Contracts to force L1 -> L2 messages with the L1 sender. Currently paused: false.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1\n * **owner**: Morph Multisig 2",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x31110622D6CA24c9FF307d6ae1715F16E47F16A0"
],
"implementations": [
"eth:0x0cC37d5239F9027A1269f53D83c73084D538f3a9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729307111,
"transactionHash": "0xf29bb9908992a7c79573ffb28d3783584653f43095b1b2278fc8951f567bebe7",
"implementations": [
"eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F"
]
},
{
"timestamp": 1729330715,
"transactionHash": "0x63ce107f943635805762c4ccd98b13cf1977f8ed1e13bd98821ebb545b9ed38e",
"implementations": [
"eth:0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5"
]
},
{
"timestamp": 1736755823,
"transactionHash": "0x908d9fce8cd9a787900543daabf45936a8873b543f593030f3edceeca35543f8",
"implementations": [
"eth:0x0cC37d5239F9027A1269f53D83c73084D538f3a9"
]
}
],
"description": "Contract used to send L1 -> L2 and relay messages from L2. It allows to replay failed messages and to drop skipped messages. L1 -> L2 messages sent using this contract pay for L2 gas on L1 and will have the aliased address of this contract as the sender.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Morph Multisig 1",
"upgradableBy": [
{
"name": "Morph Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code"
},
{
"name": "Whitelist",
"isVerified": true,
"address": "eth:0xFFafDd9167777C0e5421e0B6789D6d7A5E386984",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Generic whitelist. Currently used to whitelist addresses that can send or relay messages to/from L2 without paying for L2 gas.\n* Roles:\n * **owner**: Morph Multisig 2\n * **whitelisted**: L1Staking",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFFafDd9167777C0e5421e0B6789D6d7A5E386984#code"
}
]
},
"escrows": [
{
"address": "0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304",
"sinceTimestamp": 1729307111,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8",
"sinceTimestamp": 1729307651,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1",
"sinceTimestamp": 1729307783,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535",
"sinceTimestamp": 1729308239,
"tokens": [
"USDC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289",
"sinceTimestamp": 1729308239,
"tokens": [
"USDC"
],
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [
{
"title": "Morph Guest program (v0.4.9 release)",
"description": "Proves the correct execution of the Morph L2 state transition function (based on the Geth EVM) for a batch of blocks using the SP1 zkVM.",
"programUrl": "https://github.com/morph-l2/morph/tree/v0.4.9/prover/bin/client",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nRebuilding this program vkey requires specific docker image and sp1 version. The docker image requires a linux platform or some emulation workarounds. To prepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain v3.4.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up -v 3.4.0`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [morph repo](https://github.com/morph-l2/morph): `git checkout v0.4.9`. Commit hash should be `1f4e42cf4c0e6680285770885477bc7450e5e900`\n2. Make sure docker is running by running `docker ps`\n3. Pull the specific SP1 docker image: `docker pull ghcr.io/succinctlabs/sp1@sha256:`\n`aa6c43a119183f8e4af65405e692760310562b0bae580be164bf4ce0f1f9b3cd`\n4. Create a local Docker tag for the pulled image: `docker tag ghcr.io/succinctlabs/sp1@sha256:`\n`aa6c43a119183f8e4af65405e692760310562b0bae580be164bf4ce0f1f9b3cd ghcr.io/succinctlabs/sp1:v3.4.0-local.1`\n5. Build the program binary from `prover/bin/client` dir: `cargo prove build --docker --tag v3.4.0-local.1`\n6. The generated elf binary `verifier-client` will be placed in `prover/target/elf-compilation/docker/riscv32im-succinct-zkvm-elf/release`. Move it to `prover/bin/client/elf` and rename to `riscv32im-succinct-zkvm-elf`.\n7. Regenerate and print the vkey from the elf binary by calling `cargo run --release --bin vkey` from `prover` dir.\n ",
"hash": "0x00ad538a51c761c06f5075d11f3ee64d5d00c272a741ccf098e1d9f062fee13d"
},
{
"title": "Morph Guest program (v0.4.5 release)",
"description": "Proves the correct execution of the Morph L2 state transition function (based on the Geth EVM) for a batch of blocks using the SP1 zkVM.",
"programUrl": "https://github.com/morph-l2/morph/tree/v0.4.5/prover/bin/client",
"proverSystemProject": "sp1turbo",
"verificationStatus": "successful",
"verificationSteps": "\nRebuilding this program vkey requires specific docker image and sp1 version. The docker image requires a linux platform or some emulation workarounds. To prepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain v3.4.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up -v 3.4.0`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [morph repo](https://github.com/morph-l2/morph): `git checkout v0.4.5`. Commit hash should be `2223d9836827b3c13ec0fbd7f769fed4b5235a9a`\n2. Make sure docker is running by running `docker ps`\n3. Pull the specific SP1 docker image: `docker pull ghcr.io/succinctlabs/sp1@sha256:`\n`aa6c43a119183f8e4af65405e692760310562b0bae580be164bf4ce0f1f9b3cd`\n4. Create a local Docker tag for the pulled image: `docker tag ghcr.io/succinctlabs/sp1@sha256:`\n`aa6c43a119183f8e4af65405e692760310562b0bae580be164bf4ce0f1f9b3cd ghcr.io/succinctlabs/sp1:v3.4.0-local.1`\n5. Build the program binary from `prover/bin/client` dir: `cargo prove build --docker --tag v3.4.0-local.1`\n6. The generated elf binary `verifier-client` will be placed in `prover/target/elf-compilation/docker/riscv32im-succinct-zkvm-elf/release`. Move it to `prover/bin/client/elf` and rename to `riscv32im-succinct-zkvm-elf`.\n7. Regenerate and print the vkey from the elf binary by calling `cargo run --release --bin vkey` from `prover` dir.\n ",
"hash": "0x0059b74a8fd03c44462de3916b45ebeedb9f1158e3037e8c40b8941cbe438d7e"
}
],
"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:0x5ff102a4A4Ce2040288a797CE4CCCa85eE1E2d70",
"eth:0x045d4BC73Bd1918192f34e98532A5272Ef620423"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x1e601435E181423e7A8430813d7500012a6169cB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e601435E181423e7A8430813d7500012a6169cB#code"
},
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0xc49Ec6Bb817E17a9Ca5B738ca330db403cc74245"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659542611,
"transactionHash": "0x2e4c35995431d1de222814e766a3eb776fa77066848149094160572235bcba55",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662036445,
"transactionHash": "0xe47b5e4556898d3425bf25bde5aed3073ed121e3d3fb5f0deb6a8924e2ad2845",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1679392715,
"transactionHash": "0xef968f08903be797a0aca5d870844606dcbeccdfc6dc2048760a3d2893df109b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1\n * **operators**: EOA 3\n * **tokenAdmins**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "14d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0x5339AB7557b3152b91A57D10B0Caf5da88Db5143",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`16830627573509542901909952446321116535677491650708854009406762893086223513`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5339AB7557b3152b91A57D10B0Caf5da88Db5143#code"
},
{
"name": "OrderRegistry",
"isVerified": true,
"address": "eth:0x806d435a82B0381bD884540c2235147c13B97fe6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper contract for registering limit orders from L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x806d435a82B0381bD884540c2235147c13B97fe6#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7",
"sinceTimestamp": 1659542607,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0xc49Ec6Bb817E17a9Ca5B738ca330db403cc74245"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659542611,
"transactionHash": "0x2e4c35995431d1de222814e766a3eb776fa77066848149094160572235bcba55",
"implementations": [
"eth:0xe6785C3AfF4292C9d7c6b039f649672C45CAfFee",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x4b9b30e6E135d5e39345a03F381D9c704b2Af010",
"eth:0x07228f73AA048f67893F4b966D1D09783EdD8764",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1662036445,
"transactionHash": "0xe47b5e4556898d3425bf25bde5aed3073ed121e3d3fb5f0deb6a8924e2ad2845",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1679392715,
"transactionHash": "0xef968f08903be797a0aca5d870844606dcbeccdfc6dc2048760a3d2893df109b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"url": "https://etherscan.io/address/0x3071BE11F9e92A9eb28F305e1Fa033cD102714e7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.5",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "16830627573509542901909952446321116535677491650708854009406762893086223513"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 8d delay on code upgrades."
}
],
"zkVerifiers": [
"eth:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x5931f05809932a43C2A6c86f3F9BC2788f840b1C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5931f05809932a43C2A6c86f3F9BC2788f840b1C#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x7b96e2c80696D5D2d673f0EA62b67352E18747C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7b96e2c80696D5D2d673f0EA62b67352E18747C0#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x8a502d8EEa2Ed3e89c4D52DE51364688590cE591",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a502d8EEa2Ed3e89c4D52DE51364688590cE591#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x793c90d3f04ac72Cc7E46Faa8AcaDEA0A10e8D52",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x793c90d3f04ac72Cc7E46Faa8AcaDEA0A10e8D52#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xeA869DCE9Fd2Fdda1ec61492662dD715755b24E1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeA869DCE9Fd2Fdda1ec61492662dD715755b24E1#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x5306B2A086d477eCc7302447519dA688f9176e3D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5306B2A086d477eCc7302447519dA688f9176e3D#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x6201ED1a86d680B443f44382964ceCf83BEb9c2F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6201ED1a86d680B443f44382964ceCf83BEb9c2F#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x643207A886613F651A9D4c49138c761c61C5df3B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x643207A886613F651A9D4c49138c761c61C5df3B#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x64A42dB261E1a19a56C51E541F45b42139a4488a",
"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* Roles:\n * **challenger**: Conduit Multisig 1\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64A42dB261E1a19a56C51E541F45b42139a4488a#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x92A4334C1B7876d3A6Fba0614ac3CECcF2121568",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x92A4334C1B7876d3A6Fba0614ac3CECcF2121568#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
}
]
},
"escrows": [
{
"address": "0x7b96e2c80696D5D2d673f0EA62b67352E18747C0",
"sinceTimestamp": 1765911287,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x7b96e2c80696D5D2d673f0EA62b67352E18747C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765911287,
"transactionHash": "0x3aeb27edb9dac580b9edb430c22c0b1d3056a2053bb8507cd98de2f6f6facf8b",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924643,
"transactionHash": "0x9961d5d40d853d8305e1ab9596ce57f14092392a17434bc5186161c1c6e832fb",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7b96e2c80696D5D2d673f0EA62b67352E18747C0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072",
"sinceTimestamp": 1765911287,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5306B2A086d477eCc7302447519dA688f9176e3D"
],
"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/0xDD72d0bD01Fc7BeCe4Cc0cFdD2be6a29b846B072#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -4
+2 -4
{
"creator": "Axiom",
"projectsForTvs": [
{
"projectId": "scroll",
"sinceTimestamp": 1697493600
}
],
"proofSystemInfo": "\n \n ## Description\n\n [OpenVM](https://github.com/openvm-org/openvm?tab=readme-ov-file) is a STARK proving system based on [Plonky3 proving library](https://github.com/Plonky3/Plonky3), that has “no-CPU” design paradigm and allows adding new custom instructions to its instruction set architecture (ISA). It supports [recursive STARK aggregation](https://docs.openvm.dev/book/guest-libraries/verify-stark) and provides an [SDK](https://github.com/openvm-org/openvm-solidity-sdk) for creating Solidity verifier smart contracts. \n\n ## Proof system\n\n The proof system is split into ZK frontend, i.e. arithmetization, and ZK backend, i.e. a polynomial IOP with the Fiat-Shamir heuristic. In practice, a batched FRI-based polynomial commitment is used as the backend. OpenVM backend relies on Plonky3 prover system.\n\n OpenVM arithmetizes the execution trace using AIR with Interactions over BabyBear prime field. Interactions which include LogUp, permutation check and others.\n\n ### zkVM design\n\n OpenVM uses read-only program memory, read/write data memory as well as inputs and hints from host to enable non-deterministic computation. The execution logic is organized into a set of system chips and custom chips, without any centralized CPU-like chip. Interactions between chips are managed by program, execution and memory buses.\n\n Currently OpenVM ISA supports RISC-V instructions, keccak-256 and SHA256 hash functions, int256 arithmetic, modular arithmetic over arbitrary fields, some elliptic curve operations for the secp256k1 and secp256r1 curves and pairing operations on the BN254 and BLS12-381 curves.\n\n ### Recursion circuits\n\n OpenVM supports recursive proving and continuations, i.e. splitting a single execution trace into several rather independent ones, by recursive verification of generated STARK proofs in a specialized OpenVM program optimized for efficient proof verification (called native VM).\n\n ### Final wrap\n\nThe STARK proof is wrapped in Halo2 SNARK with KZG commitments over BN254 curve for efficient onchain processing. KZG commitment relies on Perpetual Powers of Tau trusted setup ceremony, see [below](#trusted-setups) for more details.\n",
"techStack": {
"zkVM": [
{
"id": "Plonky3",
"type": "STARK",
"name": "Plonky3",
"description": "Toolkit that implements a set of primitives for STARK-based zkVMs developed by Polygon Zero team."
},
{
"id": "OpenVM",
"type": "ISA",
"name": "OpenVM",
"description": "Extensible instruction set for OpenVM zkVM developed by Axiom."
},
{
"id": "BabyBear",
"type": "Field",
"name": "Baby Bear",
"description": "Prime field of order p = 15 * 2**27 + 1."
}
],
"finalWrap": [
{
"id": "Halo2",
"type": "Plonk",
"name": "Halo2",
"description": "Rust implementation of Halo2 SNARK proving system, originally developed for ZCash."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
},
{
"id": "KZG",
"type": "PCS",
"name": "KZG",
"description": "Polynomial commitment scheme that requires a universal trusted setup, introduced by Kate, Zaverucha and Goldberg."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Halo2",
"type": "Plonk",
"name": "Halo2",
"description": "Rust implementation of Halo2 SNARK proving system, originally developed for ZCash."
},
"id": "Halo2KZG",
"name": "Halo2 KZG over BN254",
"risk": "yellow",
"shortDescription": "Trusted setup for KZG commitments managed by Halo2 team on the base of the first 71 contributions to the Perpetual Powers of Tau contributions.",
"longDescription": "\n A trusted setup used for KZG commitments over BN254 curve for Halo2 SNARK proving system \n (when it is set up not in a transparent way). De-facto it is the first 71 entries in the Perpetual Powers of Tau\n ceremony that were converted to a particular format.\n\n - The main coordination point is this Halo2 KZG repo to convert pptau format into Halo2-suitable format: [https://github.com/han0110/halo2-kzg-srs?tab=readme-ov-file#perpetual-powers-of-tau](https://github.com/han0110/halo2-kzg-srs?tab=readme-ov-file#perpetual-powers-of-tau)\n - Ceremony is [Perpetual Powers of Tau](https://github.com/weijiekoh/perpetualpowersoftau): [https://github.com/scroll-tech/scroll-prover/blob/main/circuit-assets.md](https://github.com/scroll-tech/scroll-prover/blob/main/circuit-assets.md)\n "
}
],
"verifierHashes": [
{
"hash": "0x30af8474d8e13b8ce6a96eae63293310e7c1072b890bde77f96786497a9e5f4b",
"name": "OpenVM Feynman",
"sourceLink": "https://github.com/scroll-tech/zkvm-prover/tree/v0.5.0/crates/prover",
"proofSystem": {
"id": "Halo2",
"type": "Plonk",
"name": "Halo2",
"description": "Rust implementation of Halo2 SNARK proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4",
"chain": "ethereum"
"address": "eth:0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe verification steps are based on [this guide](https://github.com/scroll-tech/scroll-sc-tools/tree/feat/feynman?tab=readme-ov-file), with slight adjustments to resolve build failures. Memory usage peaks around 60 GiB on an ubuntu machine.\n\n1. Install dependency packages: `sudo apt-get update && sudo apt-get install build-essential pkg-config libssl-dev`.\n2. Install specifically required rust toolchain and solidity compiler:\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\nrustup toolchain install nightly-2025-02-14\n\ncargo install svm-rs\nsvm install 0.8.19\nsolc --version # should be 0.8.19\n```\n3. Check out the correct version of the [scroll-sc-tools](https://github.com/scroll-tech/scroll-sc-tools) repo: `git checkout feat/feynman`. The commit hash should be `74c0bd1994171dcb69c6da82e93cf6d273f9b984`.\n4. Modify the script to download all required trusted setup params: line 8 of `scripts/download-params.sh` should be changed to `degrees=(\"22\" \"24\")`.\n5. Download trusted setup params (around 3 GiB): `bash scripts/download-params.sh`.\n6. Generate the verifier file and output its code hash: `RUST_MIN_STACK=16777216 cargo run --release -- generate-verifier`.\n7. Verify that the deployed verifier smart contract has the same codehash: `cast keccak $(cast code 0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4 --rpc-url )`.\n ",
"description": "Custom verifier ID: solidity codehash of the verifier smart contract, i.e. keccak256 of the EVM bytecode."
},
{
"hash": "0xf86ce35d4f5b1478f21194d9c6fc825f8d8afc0468425c981dc017149f0cac5e",
"name": "OpenVM Galileo",
"sourceLink": "https://github.com/scroll-tech/zkvm-prover/tree/v0.7.0/crates/prover",
"proofSystem": {
"id": "Halo2",
"type": "Plonk",
"name": "Halo2",
"description": "Rust implementation of Halo2 SNARK proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x749fC77A1a131632a8b88e8703E489557660C75e",
"chain": "ethereum"
"address": "eth:0x749fC77A1a131632a8b88e8703E489557660C75e"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"description": "Custom verifier ID: solidity codehash of the verifier smart contract, i.e. keccak256 of the EVM bytecode.",
"verificationSteps": "\nThe verification steps are based on [this guide](https://github.com/scroll-tech/scroll-sc-tools/tree/feat/galileo?tab=readme-ov-file), with slight adjustments to resolve build failures. Memory usage peaks around 50 GiB on an ubuntu machine.\n\n1. Install dependency packages: `sudo apt-get update && sudo apt-get install build-essential pkg-config libssl-dev`.\n2. Install specifically required rust toolchain and solidity compiler:\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\nrustup toolchain install nightly-2025-02-14\n\ncargo install svm-rs\nsvm install 0.8.19\nsolc --version # should be 0.8.19\n```\n3. Check out the correct version of the [scroll-sc-tools](https://github.com/scroll-tech/scroll-sc-tools) repo: `git checkout feat/galileo`. The commit hash should be `f880a705954dc205cae7e1add474bd9e6cad1610`.\n4. Modify the script to download all required trusted setup params: line 8 of `scripts/download-params.sh` should be changed to `degrees=(\"22\" \"23\" \"24\")`.\n5. Download trusted setup params (around 4 GiB): `bash scripts/download-params.sh`.\n6. Generate the verifier file and output its code hash: `RUST_MIN_STACK=16777216 cargo run --release -- generate-verifier --recompute`. If this step produces a build failure because of `SOLC_VERSION_0_8_31_CHECKSUM` duplication, open the problematic `builds.rs` file and remove all occurances of the duplicate (second version of `SOLC_VERSION_0_8_31_CHECKSUM`). This requires altering several lines, including changing the hardcoded length of `ALL_SOLC_VERSIONS` array. Rerun the command after altering the file.\n7. Verify that the deployed verifier smart contract has the same codehash: `cast keccak $(cast code 0x749fC77A1a131632a8b88e8703E489557660C75e --rpc-url )`.\n "
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x229047fed2591dbec1eF1118d64F7aF3dB9EB290",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686067127,
"transactionHash": "0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537",
"implementations": [
"eth:0x5efa852e92800D1C982711761e45c3FE39a2b6D8"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0x33A032ec93Ec0C492Ec4BF0B30D5f51986E5a314"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: OpFoundationUpgradeSafe; ultimately SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x229047fed2591dbec1eF1118d64F7aF3dB9EB290#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0x28a55488fef40005309e2DA0040DbE9D300a64AB"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xaBAbe63514dDd6277356F8cc3d6518aA8BDEB4de"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718037779,
"transactionHash": "0xbe810ed6e1e827930bd46cde42c4883662ddb6d244a26af2f0409cc2782bee61",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 FaultDisputeGame.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbEb5Fc579115071764c7423A4f12eDde41f106Ed#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xe5965Ab5962eDc7477C8520243A95517CD252fA9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715887055,
"transactionHash": "0x2c16c813ff50e9e09a3c58508a9b90293c896f1f91534d09a5002f50bc8760ff",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe5965Ab5962eDc7477C8520243A95517CD252fA9#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624400967,
"transactionHash": "0xd19d40f11c375feeea5fe47576ce98a3a08caac68b2a8a52fb95dd1a76dd205a",
"implementations": [
"eth:0x16393737D09d2722AD13DcA3cA8C3DB957699F1D"
]
},
{
"timestamp": 1624668767,
"transactionHash": "0x98a05fb521b3349dd92cff2e104d78c6c318add003bb501c0d416b2b4d75df8a",
"implementations": [
"eth:0xbfba066b5cA610Fe70AdCE45FcB622F945891bb0"
]
},
{
"timestamp": 1636652276,
"transactionHash": "0x2625aa2013fd1a650fb0264d2746be597e12f846baa48a68fe14539c200ed6dc",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1636658954,
"transactionHash": "0xbabb37235bd38ae5a29717590eedfd9b02f84a12b890b2126feac68f223d7448",
"implementations": [
"eth:0xd9166833FF12A5F900ccfBf2c8B62a90F1Ca1FD5"
]
},
{
"timestamp": 1686067127,
"transactionHash": "0x76bceccd7d44656f5a129a600a6120091570b897c1d45c18cd7134cfe67c2537",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0x2150Bc3c64cbfDDbaC9815EF615D6AB8671bfe43"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xa95B24af19f8907390eD15f8348A1a5e6Ccbc5C6"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x25ace71c97B33Cc4729CF772ae268934F7ab5fA1#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1664921339,
"transactionHash": "0xe8f632050cdf538eebcc5ab4a0ecb426966acfd14118e4fb8b181948449ae70d",
"implementations": [
"eth:0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2"
]
},
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0x3268Ed09f76e619331528270B6267D4d2C5Ab5C2"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xc599Fa757c2bCaA5aE3753Ab129237F38C10da0b"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5a7749f83b81B301cAb5f48EB8516B986DAef23D#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "L1DAITokenBridge",
"isVerified": true,
"address": "eth:0x10E6593CDda8c58a1d0f14C5164B376352a55f2F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Custom Gateway for DAI deposits via canonical messaging. Deposited DAI is forwarded to a Vault contract.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10E6593CDda8c58a1d0f14C5164B376352a55f2F#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x23B2C62946350F4246f9f9D027e071f0264FD113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 FaultDisputeGame.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23B2C62946350F4246f9f9D027e071f0264FD113#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x322b47Ff1FA8D5611F761e3E275C45B71b294D43#code"
},
{
"name": "L1DAIEscrow",
"isVerified": true,
"address": "eth:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stores DAI deposited from the attached L1DAITokenBridge.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "SynthetixBridgeEscrow",
"isVerified": true,
"address": "eth:0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Custom escrow for SNX bridged via canonical messaging.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f#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": "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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x75505a97BD334E7BD3C476893285569C4136Fa0F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686075851,
"transactionHash": "0xe2ff41f9bdf03d5455f55539b8b9c350276a179ca7f79322e2077d7c1ffb1268",
"implementations": [
"eth:0xaE849EFA4BcFc419593420e14707996936E365E2"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1708983851,
"transactionHash": "0x3f7c36a1d636cdb23bf4f9171c27ebe58b73f4c0e6a33dbaac2c2f3c142faf50",
"implementations": [
"eth:0x74e273220Fa1cB62Fd756FE6CbDA8BBb89404deD"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1712868599,
"transactionHash": "0x4758bd62359bc69d7e8a0faaf5308d826379c23258d689a7430d5c0ad0361ad2",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75505a97BD334E7BD3C476893285569C4136Fa0F#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659687799,
"transactionHash": "0x1bc90e7c6fe12e03691f7eccf025f3a244ea5a4888c7fb274f45f5e1004110ca",
"implementations": [
"eth:0x29C5c51A031165CE62F964966A6399b81165EFA4"
]
},
{
"timestamp": 1728663671,
"transactionHash": "0xc7bc3019721ecf320698f2897b329d1930f64661100a5fa159181146088e03c2",
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
}
],
"description": "Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76943C0D61395d8F2edF9060e1533529cAe05dE6#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "FeesCollector",
"isVerified": true,
"address": "eth:0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa",
"upgradeability": {
"proxyType": "EIP1167 proxy",
"admins": [],
"implementations": [
"eth:0xE8E847cf573Fc8ed75621660A36AffD18c543d7E"
]
},
"chain": "ethereum",
"description": "Collecting sequencer, base- and L1 fees from L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xD061AB95069987868768818cc1248705351e2D0e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD061AB95069987868768818cc1248705351e2D0e#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"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**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe03F4d1D0E6B8b18b97198598b3f792E57BA17d4#code"
}
],
"optimism": [
{
"name": "DeployerWhitelist",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xc0d3c0d3C0d3c0D3c0d3C0D3c0d3C0d3c0D30002"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000002#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "optimism",
"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 SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": true,
"address": "oeth:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0xedbfdad1f44ea830b863eac45eca4408398351b30511826012882059625963d2",
"implementations": [
"oeth:0xb528D11cC114E026F138fE568744c6D45ce6Da7A"
]
},
{
"timestamp": 1720627201,
"transactionHash": "0x2f63bbe08a66796dde569281a58a53e0b0f64b7aa067297e9c70455fb8e375bc",
"implementations": [
"oeth:0xa919894851548179A0750865e7974DA599C0Fac7"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"oeth:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"oeth:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
}
],
"description": "Provides the current gas price for L2 transactions.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
]
},
"chain": "optimism",
"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 SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1664919373,
"transactionHash": "0x02985bade8b066202067f455d11aa0996a23c022fcd923e113af5d9997ddb5ce",
"implementations": [
"oeth:0x5a7749f83b81B301cAb5f48EB8516B986DAef23D"
]
}
],
"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 SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24",
"implementations": [
"oeth:0x07dbe8500fc591d1852B76feE44d5a05e13097Ff"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"oeth:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"oeth: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 SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "optimism",
"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 SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias\n * **owner**: SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "oeth:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A"
]
},
"chain": "optimism",
"pastUpgrades": [],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "OperatorFeeVault",
"isVerified": true,
"address": "oeth:0x420000000000000000000000000000000000001b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xf162acc8ebbaf9237755736b62331a4817fe27bbbe3712f473ecfa8fee499f7c",
"implementations": [
"oeth:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537"
]
}
],
"description": "Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x420000000000000000000000000000000000001b#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1690495533,
"transactionHash": "0xe09a2d85965656572055111f1968491e9bb6b174bfaa5b3e38dbbb82ef94e6fb",
"implementations": [
"oeth:0x6232208d66bAc2305b46b4Cb6BCB3857B298DF13"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x4200000000000000000000000000000000000018"
],
"implementations": [
"oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1690495533,
"transactionHash": "0xe09a2d85965656572055111f1968491e9bb6b174bfaa5b3e38dbbb82ef94e6fb",
"implementations": [
"oeth:0x4E0275Ea5a89e7a3c1B58411379D1a0eDdc5b088"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner - L2 Alias",
"upgradableBy": [
{
"id": "SuperchainProxyAdminOwner---L2-Alias",
"name": "SuperchainProxyAdminOwner - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000021#code"
},
{
"name": "OPToken",
"isVerified": true,
"address": "oeth:0x4200000000000000000000000000000000000042",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "The OP token contract. The minting policy is controlled by the MintManager.\n",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x4200000000000000000000000000000000000042#code"
},
{
"name": "MintManager",
"isVerified": true,
"address": "oeth:0x5C4e7Ba1E219E47948e6e3F55019A647bA501005",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "optimism",
"description": "Controls the OP inflation rate, which is currently hardcoded to 2% annually.\n* Roles:\n * **owner**: MintManagerOwner",
"discoveryDrivenData": true,
"url": "https://optimistic.etherscan.io/address/0x5C4e7Ba1E219E47948e6e3F55019A647bA501005#code"
}
]
},
"escrows": [
{
"address": "0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"sinceTimestamp": 1753379243,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x322b47Ff1FA8D5611F761e3E275C45B71b294D43",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x322b47Ff1FA8D5611F761e3E275C45B71b294D43#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"sinceTimestamp": 1624401464,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"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/0x99C9fc46f92E8a1c0deC1b1747d010903E884bE1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"sinceTimestamp": 1625675779,
"tokens": [
"DAI",
"USDS",
"sUSDS"
],
"contract": {
"isVerified": true,
"address": "eth:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for DAI, USDS and sUSDS bridged with canonical messaging.",
"url": "https://etherscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"sinceTimestamp": 1620680982,
"tokens": [
"SNX"
],
"contract": {
"isVerified": true,
"address": "eth:0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "SNX Vault for custom SNX Gateway managed by Synthetix.",
"url": "https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x045e507925d2e05D114534D0810a1abD94aca8d6",
"sinceTimestamp": 1610668212,
"tokens": [
"SNX"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xCd9D4988C0AE61887B075bA77f08cbFAd2b65068",
"sinceTimestamp": 1620680934,
"tokens": [
"SNX"
],
"isHistorical": true,
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"sinceTimestamp": 1659687799,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x76943C0D61395d8F2edF9060e1533529cAe05dE6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659687799,
"transactionHash": "0x1bc90e7c6fe12e03691f7eccf025f3a244ea5a4888c7fb274f45f5e1004110ca",
"implementations": [
"eth:0x29C5c51A031165CE62F964966A6399b81165EFA4"
]
},
{
"timestamp": 1728663671,
"transactionHash": "0xc7bc3019721ecf320698f2897b329d1930f64661100a5fa159181146088e03c2",
"implementations": [
"eth:0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x76943C0D61395d8F2edF9060e1533529cAe05dE6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x94118F86eE37Fa4Fdb266CDab1e55B8F0D6959D9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xa65DE544846795C7eeAd60790197B0EB755547ee"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715335031,
"transactionHash": "0x24ca235a5fe65c9dde1db0054a48b85133ac9524cb2416a70c9458d9a3340790",
"implementations": [
"eth:0xa65DE544846795C7eeAd60790197B0EB755547ee"
]
}
],
"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 Optopia Multisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x94118F86eE37Fa4Fdb266CDab1e55B8F0D6959D9#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xdd80E05004f40815EaEf12ffeE69c2a8A5112aA5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xDe94ECc695F2Df967b49ED11829eC9f7c1831a61"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715335031,
"transactionHash": "0x180139009c00eb38a40976d4c9203252b2c5ecfdd00af1678827f1dd32ba29ba",
"implementations": [
"eth:0x38f2D861b23866b92188155C4876F0879cA706Ec"
]
},
{
"timestamp": 1731382427,
"transactionHash": "0xe56f6658e706a93ca4aa13817ca9316ae594f08268d7dbada461427b4f55756c",
"implementations": [
"eth:0xfc2Af8738f04d14833BBcE3AD446F603E91D9306"
]
},
{
"timestamp": 1731389603,
"transactionHash": "0x205d623832f5a7d959f55aac33cae361475b2abfd69ca37c8eec2bd510276c3f",
"implementations": [
"eth:0xDe94ECc695F2Df967b49ED11829eC9f7c1831a61"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Optopia Multisig\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdd80E05004f40815EaEf12ffeE69c2a8A5112aA5#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x5e8d351FD046Aa0b3DDA24096751996C0c397C61",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xF3E372Ec07a9Bf0C94ff21ceBe02952F2164996F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715334971,
"transactionHash": "0x8ceff1123470899bafdc1e6b187d546752254d5a05ab2ac78ed21396ee1528f8",
"implementations": [
"eth:0xF3E372Ec07a9Bf0C94ff21ceBe02952F2164996F"
]
}
],
"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 Optopia Multisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5e8d351FD046Aa0b3DDA24096751996C0c397C61#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x03D5bc58E7b7E13ba785F67AFA2d2fC49cB2BdF3",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xD09C8E2C6D124bCE71235046B95ab676bE1d5601"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715335031,
"transactionHash": "0xf3b204596e40214b046c7cebacfb0be751ab67df24f25ce689a7422367ba9793",
"implementations": [
"eth:0xD09C8E2C6D124bCE71235046B95ab676bE1d5601"
]
}
],
"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 Optopia Multisig",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x03D5bc58E7b7E13ba785F67AFA2d2fC49cB2BdF3#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xAFc9946b25e3e93208b7E2D477680C5B6e2952be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xe04D088840aE793afd0970fE97FEC6Ac7BaF4AAC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715335031,
"transactionHash": "0xdaefb6ed2c511dbaa99b5a0d6b38ee6dfb6cf267872509b3f72f93d8d482dcf5",
"implementations": [
"eth:0xe04D088840aE793afd0970fE97FEC6Ac7BaF4AAC"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Optopia Multisig",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAFc9946b25e3e93208b7E2D477680C5B6e2952be#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Optopia Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x161aF05fA6BdA1c6E7Ee12839d470931bA796948#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x1adE86B9cc8a50Db747b7aaC32E8527d42c71fC1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0x347603566c9f79AC5f28a440B8d6A111A1672FB5"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Optopia Multisig",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1adE86B9cc8a50Db747b7aaC32E8527d42c71fC1#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x39A90926306E11497EC5FE1C459910258B620edD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xB22519CD5e46F5FC8809735F06E256A415777C31"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715335043,
"transactionHash": "0x47e3348f1a815baed93634d82c6eec4839f21c6f2cc949b589bf7c9912adadfa",
"implementations": [
"eth:0x63dD9FB4b0Af7a158E819cDfE781082bCb60e21D"
]
},
{
"timestamp": 1716464351,
"transactionHash": "0x07498c42d2879512867123618dc2fa47869d97a111c091722f489e05ebedce96",
"implementations": [
"eth:0xFe9B3d40DB0ec8f97D9ea638e926b3aEED8cF29B"
]
},
{
"timestamp": 1716522035,
"transactionHash": "0xfd1c496fe0c25e3f59bfafb68e47aa9bc0fee4c77220290e398676ee63a6b68f",
"implementations": [
"eth:0x63dD9FB4b0Af7a158E819cDfE781082bCb60e21D"
]
},
{
"timestamp": 1716962783,
"transactionHash": "0x04b31173f0fd9c8ab794ad926a7f96b867974dd952c91423910d17f5c702e8af",
"implementations": [
"eth:0x9b29299b791a36DA8Dd7dDeBe55038576995145b"
]
},
{
"timestamp": 1716963023,
"transactionHash": "0x9070b165958b48b3eabe3dac62a836e942ad8ec64273ce5f9d4627deb427974e",
"implementations": [
"eth:0xFe9B3d40DB0ec8f97D9ea638e926b3aEED8cF29B"
]
},
{
"timestamp": 1768555859,
"transactionHash": "0xcf79a0cec877055337c9fc44e55d7372af7fd4d426feb3b1cfc3c963c7f006e3",
"implementations": [
"eth:0xB22519CD5e46F5FC8809735F06E256A415777C31"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Optopia Multisig",
"upgradableBy": [
{
"name": "Optopia Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x39A90926306E11497EC5FE1C459910258B620edD#code"
}
]
},
"escrows": [
{
"address": "0x39A90926306E11497EC5FE1C459910258B620edD",
"sinceTimestamp": 1715334971,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x39A90926306E11497EC5FE1C459910258B620edD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0xB22519CD5e46F5FC8809735F06E256A415777C31"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715335043,
"transactionHash": "0x47e3348f1a815baed93634d82c6eec4839f21c6f2cc949b589bf7c9912adadfa",
"implementations": [
"eth:0x63dD9FB4b0Af7a158E819cDfE781082bCb60e21D"
]
},
{
"timestamp": 1716464351,
"transactionHash": "0x07498c42d2879512867123618dc2fa47869d97a111c091722f489e05ebedce96",
"implementations": [
"eth:0xFe9B3d40DB0ec8f97D9ea638e926b3aEED8cF29B"
]
},
{
"timestamp": 1716522035,
"transactionHash": "0xfd1c496fe0c25e3f59bfafb68e47aa9bc0fee4c77220290e398676ee63a6b68f",
"implementations": [
"eth:0x63dD9FB4b0Af7a158E819cDfE781082bCb60e21D"
]
},
{
"timestamp": 1716962783,
"transactionHash": "0x04b31173f0fd9c8ab794ad926a7f96b867974dd952c91423910d17f5c702e8af",
"implementations": [
"eth:0x9b29299b791a36DA8Dd7dDeBe55038576995145b"
]
},
{
"timestamp": 1716963023,
"transactionHash": "0x9070b165958b48b3eabe3dac62a836e942ad8ec64273ce5f9d4627deb427974e",
"implementations": [
"eth:0xFe9B3d40DB0ec8f97D9ea638e926b3aEED8cF29B"
]
},
{
"timestamp": 1768555859,
"transactionHash": "0xcf79a0cec877055337c9fc44e55d7372af7fd4d426feb3b1cfc3c963c7f006e3",
"implementations": [
"eth:0xB22519CD5e46F5FC8809735F06E256A415777C31"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x39A90926306E11497EC5FE1C459910258B620edD#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x1adE86B9cc8a50Db747b7aaC32E8527d42c71fC1",
"sinceTimestamp": 1715334971,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x1adE86B9cc8a50Db747b7aaC32E8527d42c71fC1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x161aF05fA6BdA1c6E7Ee12839d470931bA796948"
],
"implementations": [
"eth:0x347603566c9f79AC5f28a440B8d6A111A1672FB5"
]
},
"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/0x1adE86B9cc8a50Db747b7aaC32E8527d42c71fC1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x886B187C3D293B1449A3A0F23Ca9e2269E0f2664",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696608527,
"transactionHash": "0x92a61db152c2af8b75d8189eb9248997deaa06614e070a29476867af140f5562",
"implementations": [
"eth:0x240B3bd6b95cE40497Aafd71aD4705d0345A33CD"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109891,
"transactionHash": "0xbdcfd3c80c25c5aa99782ff98f440bb352443dfb23a1a56cd4023856b4a6afd4",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x886B187C3D293B1449A3A0F23Ca9e2269E0f2664#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x91493a61ab83b62943E6dCAa5475Dd330704Cc84",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696608671,
"transactionHash": "0xe67534a97b70fa009f2193161a0bc01c5ab1e858d26eb90ee81ee9b279a31d3b",
"implementations": [
"eth:0x7A163eb6Df3EEBbf817A7A9769F53FB2a441D47E"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91493a61ab83b62943E6dCAa5475Dd330704Cc84#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xC8BF04A73704051E5E274F1B43B1F2F153Db2136",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753169615,
"transactionHash": "0x16b1d1fe4679e8d3c79999d53d87666581f526de328ab1d2e3a57be20373bbda",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC8BF04A73704051E5E274F1B43B1F2F153Db2136#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x934Ab59Ef14b638653b1C0FEf7aB9a72186393DC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696608575,
"transactionHash": "0xdf70e83fd16bf306ecd7497a9f24817d028e8e7bd267ead870360777b9e1a0a8",
"implementations": [
"eth:0x701E95156dfD378d1985C6CC405D0Ee3d2af8503"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109891,
"transactionHash": "0xbdcfd3c80c25c5aa99782ff98f440bb352443dfb23a1a56cd4023856b4a6afd4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109891,
"transactionHash": "0xbdcfd3c80c25c5aa99782ff98f440bb352443dfb23a1a56cd4023856b4a6afd4",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x934Ab59Ef14b638653b1C0FEf7aB9a72186393DC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xc76543A64666d9a073FaEF4e75F651c88e7DBC08",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696608371,
"transactionHash": "0x690ab35045db8f46db127951b24b5241e3848503c9e5d6dd6888e34e9373f283",
"implementations": [
"eth:0xc76543A64666d9a073FaEF4e75F651c88e7DBC08"
]
},
{
"timestamp": 1696608623,
"transactionHash": "0xe8bb9753ef91830bd4bae629e76232efcfb35cd39d6b2e2e5bf5384e08e82bbe",
"implementations": [
"eth:0xB6767fA038e8fbe3B60d42866dbeF0fca3B1a7d6"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109891,
"transactionHash": "0xbdcfd3c80c25c5aa99782ff98f440bb352443dfb23a1a56cd4023856b4a6afd4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109891,
"transactionHash": "0xbdcfd3c80c25c5aa99782ff98f440bb352443dfb23a1a56cd4023856b4a6afd4",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc76543A64666d9a073FaEF4e75F651c88e7DBC08#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xe07eA0436100918F157DF35D01dCE5c11b16D1F1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe07eA0436100918F157DF35D01dCE5c11b16D1F1#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x1C7274c3eD6E898aDEA828Ba2F52CF19ac2CCBd9",
"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/0x1C7274c3eD6E898aDEA828Ba2F52CF19ac2CCBd9#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": "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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x7a69a90d8ea11E9618855da55D09E6F953730686",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696608587,
"transactionHash": "0xbf0b9c122d277b31b86af360b26c40c28507dbb481745bde13995bb89804986b",
"implementations": [
"eth:0xA2f9Fcf9108d870D4A8249bf3B74E812a3bD39FB"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109891,
"transactionHash": "0xbdcfd3c80c25c5aa99782ff98f440bb352443dfb23a1a56cd4023856b4a6afd4",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7a69a90d8ea11E9618855da55D09E6F953730686#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xBaf9dD4C5DD9389b263A5394513943bE06f1C0F0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBaf9dD4C5DD9389b263A5394513943bE06f1C0F0#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xF10F96daFCc86301cA5c72c64f9c5E0C4408B447",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF10F96daFCc86301cA5c72c64f9c5E0C4408B447#code"
}
]
},
"escrows": [
{
"address": "0x91493a61ab83b62943E6dCAa5475Dd330704Cc84",
"sinceTimestamp": 1696608311,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x91493a61ab83b62943E6dCAa5475Dd330704Cc84",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696608671,
"transactionHash": "0xe67534a97b70fa009f2193161a0bc01c5ab1e858d26eb90ee81ee9b279a31d3b",
"implementations": [
"eth:0x7A163eb6Df3EEBbf817A7A9769F53FB2a441D47E"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753108247,
"transactionHash": "0x1a4d52d7716a5235faca739cc50998dc7dccff0a6ba0413b4b5dc6473f541cc8",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753370483,
"transactionHash": "0xc65976839f6e929c869ef77b21b8bd5dde36cf9b0d6b28c93c6f281215a75db8",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768923767,
"transactionHash": "0x5e13f0592a4fcb13969932b7024389fb4876757105b1568383e7cd602447e612",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x91493a61ab83b62943E6dCAa5475Dd330704Cc84#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xe07eA0436100918F157DF35D01dCE5c11b16D1F1",
"sinceTimestamp": 1696608347,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xe07eA0436100918F157DF35D01dCE5c11b16D1F1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb570F4aD27e7De879A2E4F2F3DE27dBaBc20E9B9"
],
"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/0xe07eA0436100918F157DF35D01dCE5c11b16D1F1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"chain": "arbitrum",
"includeInTotal": false,
"address": "0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",
"sinceTimestamp": 1697682598,
"tokens": [
"USDC"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Arbitrum escrow -> LayerZero AMB"
}
]
},
"chainId": 42161
},
{
"chain": "optimism",
"includeInTotal": false,
"address": "0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",
"sinceTimestamp": 1701153879,
"tokens": [
"USDC"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Optimism escrow -> LayerZero AMB"
}
]
},
"chainId": 10
},
{
"chain": "base",
"includeInTotal": false,
"address": "0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",
"sinceTimestamp": 1712584295,
"tokens": [
"USDC"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Base escrow -> LayerZero AMB"
}
]
},
"chainId": 8453
},
{
"chain": "mantle",
"includeInTotal": false,
"address": "0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",
"sinceTimestamp": 1705831672,
"tokens": [
"USDC"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Mantle escrow -> LayerZero AMB"
}
]
},
"chainId": 5000
},
{
"chain": "ethereum",
"address": "0x816f722424B49Cf1275cc86DA9840Fbd5a6167e9",
"sinceTimestamp": 1705702751,
"tokens": [
"USDC"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Ethereum escrow -> LayerZero AMB"
}
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Paradex",
"isVerified": true,
"address": "eth:0xF338cad020D506e8e3d9B4854986E0EcE6C23640",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93",
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689851135,
"transactionHash": "0x7862f09db4097dc43ad1972ca9ee11eaf64a1fbfdb21fe6f84ad6b68d4b9fa56",
"implementations": [
"eth:0xA964D693cd45FCBe4303524E0EFe0988cfF5ed08"
]
},
{
"timestamp": 1710346919,
"transactionHash": "0x7292984e71d89bd82d8555a1060cf741e9090f33874c6bc3b87db6d1352784d0",
"implementations": [
"eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24"
]
},
{
"timestamp": 1725811535,
"transactionHash": "0xe78b11cbf1332af60b8da9b2eaf51ec52cdc5bdc7cc0a89af3c2fbb0936c14d8",
"implementations": [
"eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC"
]
},
{
"timestamp": 1744056299,
"transactionHash": "0x63d55b2c0cfa3b1866e99b66c6632e5474e177ce0e3b5d5b68ed8b801d76cc53",
"implementations": [
"eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04"
]
}
],
"description": "Central rollup contract. Receives (verified) state roots from the Sequencer, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: Paradex Multisig, Paradex Multisig 2\n * **operators**: EOA 1",
"upgradableBy": [
{
"name": "Paradex Multisig",
"delay": "no"
},
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "StarkgateRegistry",
"isVerified": true,
"address": "eth:0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771091351,
"transactionHash": "0xcf488e7f151fe248bd1c51fd3e8d1ecb40286adccb5527079d40886583cae510",
"implementations": [
"eth:0x61D146CfE95Dc5Ba6d9c5d9C83c39C1bff018bD3"
]
}
],
"description": "A simple registry that maps tokens to their StarkGate escrows. It also keeps a list of tokens that are blocked from being added to StarkGate.\n* Roles:\n * **admin**: Paradex Multisig 2\n * **govAdmin**: EOA 2",
"upgradableBy": [
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc50E4DF59aad8Ab494d10d2B66a90C9F0298f280#code"
},
{
"name": "USDC Bridge",
"isVerified": true,
"address": "eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692341231,
"transactionHash": "0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed",
"implementations": [
"eth:0x6Fd62239f3A441d1898683C5a84ce3681bB42C16"
]
},
{
"timestamp": 1716894071,
"transactionHash": "0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1718445143,
"transactionHash": "0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1747418723,
"transactionHash": "0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1771682039,
"transactionHash": "0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7",
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 0% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Paradex Multisig 2\n * **govAdmin**: Paradex Multisig 2\n * **manager**: StarkgateManager\n * **secAdmin**: Paradex Multisig 2\n * **secAgent**: EOA 3, Paradex Multisig 2",
"upgradableBy": [
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"sinceTimestamp": 1692341159,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692341231,
"transactionHash": "0x25fbb19a94fb450c7254e45b992272c2d6dd6b24692e34e87052621e4df3cfed",
"implementations": [
"eth:0x6Fd62239f3A441d1898683C5a84ce3681bB42C16"
]
},
{
"timestamp": 1716894071,
"transactionHash": "0x015d716fec0e72b13c6ec480a008653d2402eb0e216c3b1adcb87d13582c6a7a",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1718445143,
"transactionHash": "0x7288e6bd014f04b9aa916599a60854eb8de2106cb95030762a2372751de95922",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1747418723,
"transactionHash": "0x6df9f1b6e2fe53f2ea980ff4908aca6e43dc77e17cfdb869c67e4879c49eabf2",
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
]
},
{
"timestamp": 1771682039,
"transactionHash": "0xb0ea49fedd399a118b3f8a0c6a05b3e73a8235a184e1e5c61f57c601f94b59e7",
"implementations": [
"eth:0xDcbD52FFaF81BF0aA5bD38B0c15F60345e8Eec86"
]
}
],
"description": "Paradex USDC Escrow. The current bridge cap is 500 M USDC.",
"upgradableBy": [
{
"name": "USDC Escrow owner",
"delay": "0s"
}
],
"url": "https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Starknet OS",
"proverSystemProject": "stwo",
"description": "Proves correct state transition for a range of consecutive Starknet transactions.",
"programUrl": "https://github.com/starkware-libs/sequencer/blob/9b4f27df41e8c45aeeb155d4fe84a1df18a8358a/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os/os.cairo#L69",
"verificationStatus": "successful",
"verificationSteps": "\n1. Install python and pip.\n2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.\n3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout 9b4f27df41e8c45aeeb155d4fe84a1df18a8358a`.\n4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`.\n5. Run `UPDATE_EXPECT=1 cargo test -p apollo_starknet_os_program test_program_hashes` to regenerate program hashes in `crates/apollo_starknet_os_program/src/program_hash.json`. The `\"os\"` value of this file will be equivalent to dec value of the hash.\n ",
"hash": "918745833886511857768061986591752808672496300091957204265383861063635175685"
},
{
"title": "Aggregation program for SHARP prover",
"description": "Aggregates proofs of correct execution for several consecutive transaction ranges generated by StarkNet OS.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/sequencer/blob/9b4f27df41e8c45aeeb155d4fe84a1df18a8358a/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/aggregator/main.cairo#L15",
"verificationStatus": "successful",
"verificationSteps": "\n1. Install python and pip.\n2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.\n3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout 9b4f27df41e8c45aeeb155d4fe84a1df18a8358a`.\n4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`.\n5. Run `UPDATE_EXPECT=1 cargo test -p apollo_starknet_os_program test_program_hashes` to regenerate program hashes in `crates/apollo_starknet_os_program/src/program_hash.json`. The `\"aggregator_with_prefix\"` value of this file will be equivalent to dec value of the hash.\n ",
"hash": "1701025211190912681772481128523426351562426117847395998223683709327746845867"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9B9671dB83CfcB4508bF361942488C5cA2b1286D#code"
},
{
"name": "Validium",
"isVerified": true,
"address": "eth:0xb1714954bBc0162A36FB44934F3216aCE81C40d7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740743363,
"transactionHash": "0x351a86bec0a58f513f88024a6a845b25bce736ed78da4ef1c7cda90a717dd61e",
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
}
],
"description": "The main system contract defining the Pentagon Games Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: EOA 1\n * **forceBatchAddress**: EOA 1\n * **trustedSequencer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb1714954bBc0162A36FB44934F3216aCE81C40d7#code"
},
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0xC89AB4F5AEEe5cfbC34F8EEFA7B17414CC9391aE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1a26Fc326860bb2fbBa0ebc4f63F9349b254C00e"
],
"implementations": [
"eth:0xae5A7c682e4D531b1e2e264AcF71B9761748459a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741254587,
"transactionHash": "0x99170a72a7fae5f222229ebf94e54391c4757e93203f61909fc882ff293c5dfd",
"implementations": [
"eth:0xae5A7c682e4D531b1e2e264AcF71B9761748459a"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 1/1).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC89AB4F5AEEe5cfbC34F8EEFA7B17414CC9391aE#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 3, EOA 4\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1a26Fc326860bb2fbBa0ebc4f63F9349b254C00e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1a26Fc326860bb2fbBa0ebc4f63F9349b254C00e#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherWrapped",
"wethAddress": "0x5A77f1443D16ee5761d310e38b62f77f726bC71c",
"tokensToAssignFromL1": [
"PC"
]
},
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x384e3AE4D5efC9471201039b555EAe496b2A7240",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0xdAc90BD578f229D33D68735B398b544027E3285e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132759,
"transactionHash": "0xb15b1f5e193d23a42b6c407ca0477edeeea5285cf952194e73127eaf06b88da8",
"implementations": [
"eth:0xdAc90BD578f229D33D68735B398b544027E3285e"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **guardian**: OpFoundationOperationsSafe",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x384e3AE4D5efC9471201039b555EAe496b2A7240#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xb9c4EA7171b588e8D4c3F63e955Cd61e5172bb92",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0x1Fd1be2e1c65F136020d2CcC073ED8A7269aE53f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132771,
"transactionHash": "0x7ddb356a0db26991b791c1b16e67dc6e71f9f2177bc73637c8afe57ec20d594d",
"implementations": [
"eth:0x1Fd1be2e1c65F136020d2CcC073ED8A7269aE53f"
]
},
{
"timestamp": 1744223987,
"transactionHash": "0x6a3c741de4a66f9e4f6ab204507d0d1e6c6c0e8ec2ca63bb03ad6c57e8e5d373",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1744223987,
"transactionHash": "0x6a3c741de4a66f9e4f6ab204507d0d1e6c6c0e8ec2ca63bb03ad6c57e8e5d373",
"implementations": [
"eth:0x1Fd1be2e1c65F136020d2CcC073ED8A7269aE53f"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **challenger**: Conduit Multisig 1\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb9c4EA7171b588e8D4c3F63e955Cd61e5172bb92#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xF41E72f55d9bE849ecCe3b7AEe2A07Ccdadb655d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0x6f6584F82866aa297Eb5cE0d4Fed200dD0632833"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132771,
"transactionHash": "0x9bb7e935327fb574078e2717f54dd877661dfd940205f4033c5f7f52eb8967f7",
"implementations": [
"eth:0x6f6584F82866aa297Eb5cE0d4Fed200dD0632833"
]
}
],
"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 Conduit Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF41E72f55d9bE849ecCe3b7AEe2A07Ccdadb655d#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x11654D67e0360A82e5Badd272Ced336B80972135",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0xF8b4a49204203a8449035Ec3ADd928556C8C6397"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132711,
"transactionHash": "0x9c4969f990a3591299c7a8fab5c6d488ef20a4efbff6d72b1d5aed2199addf42",
"implementations": [
"eth:0xF8b4a49204203a8449035Ec3ADd928556C8C6397"
]
}
],
"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 Conduit Multisig 1\n * **guardian**: OpFoundationOperationsSafe",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11654D67e0360A82e5Badd272Ced336B80972135#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x34Ef4B527DB3F4AcfAE7Fdc7Db0f9981F48Cd23F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0x8A51D7311DB5C5DBfB344e79b85d516aD5C72324"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34Ef4B527DB3F4AcfAE7Fdc7Db0f9981F48Cd23F#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x6007758DBd8c9e83e24761D248e51850Ff2612CC",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0xe36A1936AdA988529946237cd23bbA42071138CB"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132771,
"transactionHash": "0xa241ccca0bd90332456d7b8b04ad620b7a1b2392da7f0164168af6475fd9d52b",
"implementations": [
"eth:0xe36A1936AdA988529946237cd23bbA42071138CB"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6007758DBd8c9e83e24761D248e51850Ff2612CC#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x9dd8e00Ff731FBf3dd3559578BeB518a41b16Cfe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0x46Fd984c10648C26B4099e42a23a644B36ecA5A8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132771,
"transactionHash": "0x3634ea4a2431165f2ec35df2b57dde5e2f15130248f3097ec944a13e2e4cff22",
"implementations": [
"eth:0x46Fd984c10648C26B4099e42a23a644B36ecA5A8"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9dd8e00Ff731FBf3dd3559578BeB518a41b16Cfe#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x320E53df19662A58fF4953d62B229E9BCAAC0b49#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x3D831FD51f80398488a2452b9Ba44eDe104e8789",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0xA4C2F8848b68ba4D5f6C4c35D85E83CAA055343E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132771,
"transactionHash": "0xf002c76f5539fd64237ed9dc39bd7d62fdf24c9ad242d15935b870eaa840a7a2",
"implementations": [
"eth:0xA4C2F8848b68ba4D5f6C4c35D85E83CAA055343E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3D831FD51f80398488a2452b9Ba44eDe104e8789#code"
}
]
},
"escrows": [
{
"address": "0x384e3AE4D5efC9471201039b555EAe496b2A7240",
"sinceTimestamp": 1733132711,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x384e3AE4D5efC9471201039b555EAe496b2A7240",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0xdAc90BD578f229D33D68735B398b544027E3285e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733132759,
"transactionHash": "0xb15b1f5e193d23a42b6c407ca0477edeeea5285cf952194e73127eaf06b88da8",
"implementations": [
"eth:0xdAc90BD578f229D33D68735B398b544027E3285e"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x384e3AE4D5efC9471201039b555EAe496b2A7240#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x34Ef4B527DB3F4AcfAE7Fdc7Db0f9981F48Cd23F",
"sinceTimestamp": 1733132711,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x34Ef4B527DB3F4AcfAE7Fdc7Db0f9981F48Cd23F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x320E53df19662A58fF4953d62B229E9BCAAC0b49"
],
"implementations": [
"eth:0x8A51D7311DB5C5DBfB344e79b85d516aD5C72324"
]
},
"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/0x34Ef4B527DB3F4AcfAE7Fdc7Db0f9981F48Cd23F#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x384e3AE4D5efC9471201039b555EAe496b2A7240",
"sinceTimestamp": 1733132700,
"tokens": [
"PEPU"
],
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+8 -4
+2 -2
{
"arbitrum": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [
{
"id": "Challenger",
"name": "Challenger",
"description": "Allowed to challenge or delete state roots proposed by a Proposer.",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "Conduit Multisig 1",
"url": "#Conduit Multisig 1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Guardian",
"name": "Guardian",
"description": "Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless).",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "Conduit Multisig 1",
"url": "#Conduit Multisig 1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Proposer",
"name": "Proposer",
"description": "Allowed to post new state roots of the current layer to the host chain.",
"accounts": [
{
"address": "eth:0xF579A1cDfb89D0Aaf240d489EF10aB01A2B7f8F2",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Allowed to commit transactions from the current layer to the host chain.",
"accounts": [
{
"address": "eth:0x9Fb23129982c993743Eb9bB156af8CC8Fa2aC761",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/13 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OPSuccinctL2OutputOracle [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with OPSuccinctL2OutputOracle\n * can toggle between the optimistic mode and not optimistic (ZK) mode \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* A Challenger - acting directly\n* A Guardian - acting directly",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07",
"type": "EOA",
"isVerified": true,
"name": "0x3816…Cf07",
"url": "https://etherscan.io/address/0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007",
"type": "EOA",
"isVerified": true,
"name": "0x65D1…6007",
"url": "https://etherscan.io/address/0x65D1d44B8B2fE15d45A03708E0835C7E98a56007"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4",
"type": "EOA",
"isVerified": true,
"name": "0xa400…e6e4",
"url": "https://etherscan.io/address/0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4"
},
{
"address": "eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f",
"type": "EOA",
"isVerified": true,
"name": "0x3840…Fd5f",
"url": "https://etherscan.io/address/0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"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": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x9Fb23129982c993743Eb9bB156af8CC8Fa2aC761",
"type": "EOA",
"isVerified": true,
"name": "0x9Fb2…C761",
"url": "https://etherscan.io/address/0x9Fb23129982c993743Eb9bB156af8CC8Fa2aC761"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xF579A1cDfb89D0Aaf240d489EF10aB01A2B7f8F2",
"type": "EOA",
"isVerified": true,
"name": "0xF579…f8F2",
"url": "https://etherscan.io/address/0xF579A1cDfb89D0Aaf240d489EF10aB01A2B7f8F2"
}
],
"chain": "ethereum",
"description": "* A Proposer - acting directly",
"discoveryDrivenData": true
}
]
}
}
+6 -2
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x2157F4d5934c4b12193C4983E99b9D6418798a2E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756389419,
"transactionHash": "0xed0bcf545cea2abedd3f881c132d2c5edea92be3bad914444ae526aef6ec7d97",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2157F4d5934c4b12193C4983E99b9D6418798a2E#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x96B124841Eff4Ab1b3C1F654D60402a1405fF51A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0xf15016a91149382e41ef8c726b4e2f21bd371fd1ca2ec5ac6963d485e9a4a1e1",
"implementations": [
"eth:0x5651e4f573303ec65Ba7579Fdc09166F7a403776"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x5B172BBfa0140285A02374EC1f5B9f25ef415514"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x96B124841Eff4Ab1b3C1F654D60402a1405fF51A#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xeBf5859b7646ca9cf8A981613569bF28394F2571",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0xbde55f54ed051fc9c94af80b2f3fcfd0124bae4b3f74816d935999553bcd8dec",
"implementations": [
"eth:0x4334B0Ebd68dC3A4e35deD49014dEFA00C15219c"
]
},
{
"timestamp": 1756390823,
"transactionHash": "0xa6fc3d1acadac8c1ff8d85f86909f8b91c3913c49a1ef56f1dfd3a961c9605c4",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeBf5859b7646ca9cf8A981613569bF28394F2571#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x1549Dd6f86f5bBf0b1Bc691407DE64e8104c1544",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0x0e51f9c3e3dc969d70426a6662d4e2b6abbb2fa1cbda3373bcbe5120342f04fd",
"implementations": [
"eth:0xF4e69D58027De611d9F142e6b0Db6b11569F50E7"
]
},
{
"timestamp": 1756390823,
"transactionHash": "0xa6fc3d1acadac8c1ff8d85f86909f8b91c3913c49a1ef56f1dfd3a961c9605c4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1756390823,
"transactionHash": "0xa6fc3d1acadac8c1ff8d85f86909f8b91c3913c49a1ef56f1dfd3a961c9605c4",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1549Dd6f86f5bBf0b1Bc691407DE64e8104c1544#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x6A3444d11cA2697fe4A19AC8995ABDd8Dd301521",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6A3444d11cA2697fe4A19AC8995ABDd8Dd301521#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xa010dE167788ed7d95c770AC478997D3207236AF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0xec31f7915b604c4bcccddfc17ff4f49f04454a89a692a9c97430986fb0f5b329",
"implementations": [
"eth:0xC46226fA9De738D48343f420b402a0EBd8F7DCeD"
]
},
{
"timestamp": 1756390823,
"transactionHash": "0xa6fc3d1acadac8c1ff8d85f86909f8b91c3913c49a1ef56f1dfd3a961c9605c4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1756390823,
"transactionHash": "0xa6fc3d1acadac8c1ff8d85f86909f8b91c3913c49a1ef56f1dfd3a961c9605c4",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa010dE167788ed7d95c770AC478997D3207236AF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E#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": "OPSuccinctDisputeGame",
"isVerified": true,
"address": "eth:0x2c2dA5EFfAbDA3a9ffe8e3D526C5b1F3B42FEa6D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A dispute game wrapper around OPSuccinctL2OutputOracle. It is needed to comply with OptimismPortal2 requirement to have a DisputeGameFactory. Whenever a new game is created, an SP1 proof is immediately verified, so in fact there is no optimistic dispute game happening.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2c2dA5EFfAbDA3a9ffe8e3D526C5b1F3B42FEa6D#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x46e057CE57bb9E5Af63f30b4dcD9e385eD4ac824",
"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* Roles:\n * **challenger**: Conduit Multisig 1\n * **proposer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x46e057CE57bb9E5Af63f30b4dcD9e385eD4ac824#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": "OPSuccinctL2OutputOracle",
"isVerified": true,
"address": "eth:0xb45440830bd8D288bB2B5B01Be303ae60fc855d8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x9d843e5b627759e8aB2Db5B95cCA1e5BB91F1174"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0x8eee30c3b3f633d3e3c94e00a250bd324e2da6863f227acac127cb6cbc668f85",
"implementations": [
"eth:0x35A37B01CeCb9544a72e251328F9B36F98b023B1"
]
},
{
"timestamp": 1734570311,
"transactionHash": "0xa2b6b581c2c1c201336472072cf22d1f9c57179116cc0f010c763e719c28b6de",
"implementations": [
"eth:0xE41997Df2A412ed5B56ac9f3997A72B6BeE9d888"
]
},
{
"timestamp": 1746606971,
"transactionHash": "0x82e8aeceec726d7cf643b1a548090bfa12bca8fdb7443cdc9a3a4e0d25793c19",
"implementations": [
"eth:0xd010fBdBd77a3314bCED75E1AE8E7aDD42c9d580"
]
},
{
"timestamp": 1757436323,
"transactionHash": "0x893a91ea99cbf8a7339049c89ec2c350f97eef07f66e0b690fe74f4b068c8b50",
"implementations": [
"eth:0x9d843e5b627759e8aB2Db5B95cCA1e5BB91F1174"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. The SuccinctL2OutputOracle modifies the L2OutputOracle to support whenNotOptimistic mode, in which a validity proof can be passed as input argument to the proposeL2Output function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **owner**: Conduit Multisig 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb45440830bd8D288bB2B5B01Be303ae60fc855d8#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xC89A60DD42Fb0B4EfD383D98C7D577F88eC9E166",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC89A60DD42Fb0B4EfD383D98C7D577F88eC9E166#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xDeF9B23dAE7769004e80f579f9d3aF0D7a29E4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDeF9B23dAE7769004e80f579f9d3aF0D7a29E4aD#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xF8e8E783fa7A5CCDB77EddC3335cDb00066B515e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0xee7a287bb9169343a89e0550c67d182204e26955e0d7e5c6afea15f1a15505e1",
"implementations": [
"eth:0x000FAF919Dc5a946B82bFfF252FAbC378bda1F50"
]
},
{
"timestamp": 1756390823,
"transactionHash": "0xa6fc3d1acadac8c1ff8d85f86909f8b91c3913c49a1ef56f1dfd3a961c9605c4",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF8e8E783fa7A5CCDB77EddC3335cDb00066B515e#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": "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": "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"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
]
},
"escrows": [
{
"address": "0x96B124841Eff4Ab1b3C1F654D60402a1405fF51A",
"sinceTimestamp": 1734387299,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x96B124841Eff4Ab1b3C1F654D60402a1405fF51A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734387347,
"transactionHash": "0xf15016a91149382e41ef8c726b4e2f21bd371fd1ca2ec5ac6963d485e9a4a1e1",
"implementations": [
"eth:0x5651e4f573303ec65Ba7579Fdc09166F7a403776"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1757426807,
"transactionHash": "0x5f02cf3fa2d556aafdb60e240b334f122786f05444e802f1f08c881e198bb20a",
"implementations": [
"eth:0x5B172BBfa0140285A02374EC1f5B9f25ef415514"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768923887,
"transactionHash": "0x72fd82354124671e3b28d78e70d9eec692ae7f119281ab473aa75f394f1b52ab",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x96B124841Eff4Ab1b3C1F654D60402a1405fF51A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6A3444d11cA2697fe4A19AC8995ABDd8Dd301521",
"sinceTimestamp": 1734387299,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x6A3444d11cA2697fe4A19AC8995ABDd8Dd301521",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x198A8e0c220f29d8aF956e4c8A9E8b552096Ab2E"
],
"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/0x6A3444d11cA2697fe4A19AC8995ABDd8Dd301521#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "AggchainECDSAMultisig",
"isVerified": true,
"address": "eth:0x519E42c24163192Dca44CD3fBDCEBF6be9130987",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1706364971,
"transactionHash": "0x4e3fc80071c2d0852584cb59bfcd784519bfb3582aa3334098a4b32b5f6aaef4",
"implementations": [
"eth:0x79BCB82B35A335cD8A8Ec433b304a0c91f67CDE0"
]
},
{
"timestamp": 1710419135,
"transactionHash": "0xeba0bc3b2674c961c5a998f22f789ea610a7c3e57e622a4dd951cca2702b8be3",
"implementations": [
"eth:0x2650a9a4fC64f63F573EF0F405064EF54BC46f71"
]
},
{
"timestamp": 1711323407,
"transactionHash": "0x67e892c44b9d14709693e74dd5e17fb40d98c8c2cc1c5330265e758e8958a01b",
"implementations": [
"eth:0x2650a9a4fC64f63F573EF0F405064EF54BC46f71"
]
},
{
"timestamp": 1727792579,
"transactionHash": "0x069690e412d29d96bc94d6bf5c816e43bb401cbf948f3e3cad261e073e2d2afe",
"implementations": [
"eth:0x2650a9a4fC64f63F573EF0F405064EF54BC46f71"
]
},
{
"timestamp": 1736943371,
"transactionHash": "0x9328cfd3d2833dca2d0ea16fbb34f8fc096c26ca8334476c5bf7107f32436029",
"implementations": [
"eth:0x7253F329302b1b5E774Ac641EA3743E9E3244f2E"
]
},
{
"timestamp": 1764753203,
"transactionHash": "0xd8eb9f7bf7594d047e0c8b254b3893eb05daf692b1688adaacd21af144efe2a5",
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
}
],
"description": "System contract defining the polygon zkEVM Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).\n* Roles:\n * **aggchainSigners**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x519E42c24163192Dca44CD3fBDCEBF6be9130987#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 2, EOA 3\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "daiBridge",
"isVerified": true,
"address": "eth:0x4A27aC91c5cD3768F140ECabDe3FC2B2d92eDb98",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
],
"implementations": [
"eth:0xF684f2CB299cCDaAB483ffc1573B82f40C6b775b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695199499,
"transactionHash": "0x2c7c12aeaf738701352017fc49f5268db9632b84bdc6f76474e6776371f53b7e",
"implementations": [
"eth:0xF684f2CB299cCDaAB483ffc1573B82f40C6b775b"
]
}
],
"description": "Custom Bridge escrow for DAI bridged to PolygonZkEVM allowing for a custom L2 tokens contract.\n* Roles:\n * **admin**: Polygon zkEVM Multisig",
"upgradableBy": [
{
"name": "Polygon zkEVM Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4A27aC91c5cD3768F140ECabDe3FC2B2d92eDb98#code"
},
{
"name": "usdcBridge",
"isVerified": true,
"address": "eth:0x70E70e58ed7B1Cec0D8ef7464072ED8A52d755eB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
],
"implementations": [
"eth:0xA4e6762eAAf259DA74696F46fAAF79bA9DdE14E6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700125979,
"transactionHash": "0x6402dc60bb9c4f704f126f4b11e40b33c287b4ac7f73ea60c50d7452d52ce735",
"implementations": [
"eth:0xA4e6762eAAf259DA74696F46fAAF79bA9DdE14E6"
]
}
],
"description": "Custom Bridge escrow for USDC bridged to PolygonZkEVM allowing for a custom L2 tokens contract.\n* Roles:\n * **admin**: Polygon zkEVM Multisig",
"upgradableBy": [
{
"name": "Polygon zkEVM Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x70E70e58ed7B1Cec0D8ef7464072ED8A52d755eB#code"
},
{
"name": "wstETHBridge",
"isVerified": true,
"address": "eth:0xf0CDE1E7F0FAD79771cd526b1Eb0A12F69582C01",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
],
"implementations": [
"eth:0x18FED1E19dC564DC917D203be9d40790472D22e9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703945135,
"transactionHash": "0x12c54f4243dc8e3b41be87984b78248eecbf98b92e30ff10b487be2599d7e3a1",
"implementations": [
"eth:0x18FED1E19dC564DC917D203be9d40790472D22e9"
]
}
],
"description": "Custom Bridge escrow for wstETH bridged to PolygonZkEVM allowing for a custom L2 tokens contract.\n* Roles:\n * **admin**: Polygon zkEVM Multisig",
"upgradableBy": [
{
"name": "Polygon zkEVM Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf0CDE1E7F0FAD79771cd526b1Eb0A12F69582C01#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "200000000000000000000000000"
},
"chainId": 1
},
{
"address": "0x70E70e58ed7B1Cec0D8ef7464072ED8A52d755eB",
"sinceTimestamp": 1700125979,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0x70E70e58ed7B1Cec0D8ef7464072ED8A52d755eB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
],
"implementations": [
"eth:0xA4e6762eAAf259DA74696F46fAAF79bA9DdE14E6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1700125979,
"transactionHash": "0x6402dc60bb9c4f704f126f4b11e40b33c287b4ac7f73ea60c50d7452d52ce735",
"implementations": [
"eth:0xA4e6762eAAf259DA74696F46fAAF79bA9DdE14E6"
]
}
],
"description": "Custom Bridge escrow for USDC bridged to PolygonZkEVM allowing for a custom L2 tokens contract.",
"url": "https://etherscan.io/address/0x70E70e58ed7B1Cec0D8ef7464072ED8A52d755eB#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xf0CDE1E7F0FAD79771cd526b1Eb0A12F69582C01",
"sinceTimestamp": 1703945135,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xf0CDE1E7F0FAD79771cd526b1Eb0A12F69582C01",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
],
"implementations": [
"eth:0x18FED1E19dC564DC917D203be9d40790472D22e9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1703945135,
"transactionHash": "0x12c54f4243dc8e3b41be87984b78248eecbf98b92e30ff10b487be2599d7e3a1",
"implementations": [
"eth:0x18FED1E19dC564DC917D203be9d40790472D22e9"
]
}
],
"description": "Custom Bridge escrow for wstETH bridged to PolygonZkEVM allowing for a custom L2 tokens contract.",
"url": "https://etherscan.io/address/0xf0CDE1E7F0FAD79771cd526b1Eb0A12F69582C01#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x4A27aC91c5cD3768F140ECabDe3FC2B2d92eDb98",
"sinceTimestamp": 1695199499,
"tokens": [
"DAI",
"sDAI"
],
"contract": {
"isVerified": true,
"address": "eth:0x4A27aC91c5cD3768F140ECabDe3FC2B2d92eDb98",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
],
"implementations": [
"eth:0xF684f2CB299cCDaAB483ffc1573B82f40C6b775b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695199499,
"transactionHash": "0x2c7c12aeaf738701352017fc49f5268db9632b84bdc6f76474e6776371f53b7e",
"implementations": [
"eth:0xF684f2CB299cCDaAB483ffc1573B82f40C6b775b"
]
}
],
"description": "Custom Bridge escrow for DAI bridged to PolygonZkEVM allowing for a custom L2 tokens contract.",
"url": "https://etherscan.io/address/0x4A27aC91c5cD3768F140ECabDe3FC2B2d92eDb98#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"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"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x034cbb620d1e0e4C2E29845229bEAc57083b04eC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718038343,
"transactionHash": "0xf12791da1d11a2b87575774a027826957ad4adba2d002ca0c89e7ee1118f5e89",
"implementations": [
"eth:0xCd0A8dc59685AF52cb706d73ab455FcA18eDC1D5"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x034cbb620d1e0e4C2E29845229bEAc57083b04eC#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x58b51fb9FeeD00DD846f91D265Eba3cdd855A413",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718038331,
"transactionHash": "0x245f6f1b228887468a7cff0a36d5abe87fbda0b4895755d418b08c2c68d1c815",
"implementations": [
"eth:0x69762714C496f76756D7aEbf8b4225F458cDf853"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109747,
"transactionHash": "0x4ca85189e3c217dc2364a3ffaa64337f35ff4f9e435e71c55b6289f90c89fe1d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58b51fb9FeeD00DD846f91D265Eba3cdd855A413#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xe9394679d0f0676E4a2dE99F8ed6B4aCb16c5f0f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753169915,
"transactionHash": "0xc882aaef870976f245a44a099ff508e63743440bf589702ffe0c0902bd6297e4",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe9394679d0f0676E4a2dE99F8ed6B4aCb16c5f0f#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x36725a5e0040deB7C697d46C0e24390702b202e0",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718038307,
"transactionHash": "0x0803101449ba74f109136ceb6201506711153e210e093ee344d4f05f6e5b210e",
"implementations": [
"eth:0x36725a5e0040deB7C697d46C0e24390702b202e0"
]
},
{
"timestamp": 1718038331,
"transactionHash": "0xaf64e93b029c67311d29035141e9de4f69458cfee2a9c4a6ba55a31e2599a130",
"implementations": [
"eth:0xEC097D3f3319F2A23aa82ee2e28d30FdCBe0d753"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109747,
"transactionHash": "0x4ca85189e3c217dc2364a3ffaa64337f35ff4f9e435e71c55b6289f90c89fe1d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109747,
"transactionHash": "0x4ca85189e3c217dc2364a3ffaa64337f35ff4f9e435e71c55b6289f90c89fe1d",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36725a5e0040deB7C697d46C0e24390702b202e0#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3Be64BF2b9C2dE637067C7AAb6baE5EDf9fEBA55",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3Be64BF2b9C2dE637067C7AAb6baE5EDf9fEBA55#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xD5890BBAFaFdce942597757385E55174569e8d1A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718038331,
"transactionHash": "0xeca62b15210fcd18a1148b0c731bf7b125bcd3942fa55a1214e3adf5d58b204a",
"implementations": [
"eth:0x8D703A1eE5925D783aAbaFe2FC551A1cC62Bc5F7"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109747,
"transactionHash": "0x4ca85189e3c217dc2364a3ffaa64337f35ff4f9e435e71c55b6289f90c89fe1d",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109747,
"transactionHash": "0x4ca85189e3c217dc2364a3ffaa64337f35ff4f9e435e71c55b6289f90c89fe1d",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD5890BBAFaFdce942597757385E55174569e8d1A#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x027b8405077e4C8de33E31Ca2EF7ceE97a8D4a3b",
"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/0x027b8405077e4C8de33E31Ca2EF7ceE97a8D4a3b#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0df4Aa3C6CCCd0efdDC37324BC251511ff6034F8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0df4Aa3C6CCCd0efdDC37324BC251511ff6034F8#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f#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:0x6b18508c693b9c45A23eAf382E07ADd81D4d4819",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6b18508c693b9c45A23eAf382E07ADd81D4d4819#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x994233366C8E11da5c525AB903c04e7AFB2915bD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718038331,
"transactionHash": "0x0432275b8939313183d44f7fe9bc2554891ba7563d67204cbe3b6315feee30d3",
"implementations": [
"eth:0xCfB1b01c002Ab32859Dac851e7928B405dF8adE4"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109747,
"transactionHash": "0x4ca85189e3c217dc2364a3ffaa64337f35ff4f9e435e71c55b6289f90c89fe1d",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x994233366C8E11da5c525AB903c04e7AFB2915bD#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
}
]
},
"escrows": [
{
"address": "0x034cbb620d1e0e4C2E29845229bEAc57083b04eC",
"sinceTimestamp": 1718038307,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x034cbb620d1e0e4C2E29845229bEAc57083b04eC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718038343,
"transactionHash": "0xf12791da1d11a2b87575774a027826957ad4adba2d002ca0c89e7ee1118f5e89",
"implementations": [
"eth:0xCd0A8dc59685AF52cb706d73ab455FcA18eDC1D5"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753107659,
"transactionHash": "0xd9a40be521e0a167ff82507548e7ff6395c1ae0755ab7bb7b7f55c63832aa0d9",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753369799,
"transactionHash": "0x9756c32f2b02ee32af90b01ca27a3d830d00e0d89919d4913c77b822639d1982",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924007,
"transactionHash": "0xca55575637f7a44617159165dfa61af4921f9470e5a5dcaa35ca602497f83a5a",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x034cbb620d1e0e4C2E29845229bEAc57083b04eC#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3Be64BF2b9C2dE637067C7AAb6baE5EDf9fEBA55",
"sinceTimestamp": 1718038307,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x3Be64BF2b9C2dE637067C7AAb6baE5EDf9fEBA55",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3c68b1d45f4faa4F028c3DC8910fA3247c7f0a1f"
],
"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/0x3Be64BF2b9C2dE637067C7AAb6baE5EDf9fEBA55#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x8309E63F777805f362d42f5B5f2D1A20287d5Df2",
"sinceTimestamp": 1751017763,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"rsETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xEb3492A8A15baF729e57F4F7E84DC55B7A34A4e7",
"sinceTimestamp": 1748903783,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"cbBTC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x615172e47c0C5A6dA8ea959632Ac0166f7a59eDc",
"sinceTimestamp": 1721219231,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sDAI"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xDE1617Ddb7C8A250A409D986930001985cfad76F",
"sinceTimestamp": 1721277431,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xC6cfb996A7CFEB89813A68CD13942CD75553032b",
"sinceTimestamp": 1721382935,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xDf9Fa2b420689384E8DD55a706262DC0ED37020F",
"sinceTimestamp": 1728993695,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USD0++"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x1bF463463dd6747230Ee1bF9428376EBF1e2C23a",
"sinceTimestamp": 1732796447,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x572A4080c16beD33Cf2E876ad969E2E35769EDB4",
"sinceTimestamp": 1744192691,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x197cCb40bCDed89c3D7B891824ab44d1913Ee73E",
"sinceTimestamp": 1744193267,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SolvBTC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x847579e12CFb96a3357d9C51e374330af61716C2",
"sinceTimestamp": 1746458207,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xc374967634133F5Ed1DF5050276e5B33986625D3",
"sinceTimestamp": 1721232015,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "optimism",
"includeInTotal": false,
"chainId": 10
},
{
"address": "0x2A905D69Cdb343B2e5F5E25a11788cDFb67d4E1d",
"sinceTimestamp": 1732794033,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"OP"
],
"chain": "optimism",
"includeInTotal": false,
"chainId": 10
},
{
"address": "0x2396843Ea97cf6b77239bB25fa018a3CD2ee06A6",
"sinceTimestamp": 1732796449,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "optimism",
"includeInTotal": false,
"chainId": 10
},
{
"address": "0x31d16b451C4063FE24ca4149740aF10948FdE955",
"sinceTimestamp": 1733432921,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "optimism",
"includeInTotal": false,
"chainId": 10
},
{
"address": "0x744E4E32c8b49bB0F812590a5124C183eD2Cd836",
"sinceTimestamp": 1744192681,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "optimism",
"includeInTotal": false,
"chainId": 10
},
{
"address": "0xaE3f9951fdC045E03Eb460D34B9728E327331Ccd",
"sinceTimestamp": 1746458201,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "optimism",
"includeInTotal": false,
"chainId": 10
},
{
"address": "0x038bc0f438C6b46FaCc5C83475925F4Dc111d79F",
"sinceTimestamp": 1721231761,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xb4d1b0333Ba154ed42DECB07b0342C128bB492cf",
"sinceTimestamp": 1732796449,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xD08e20aAb70fE4aBC7f7BAA9d1A9BD02d6C6e883",
"sinceTimestamp": 1733432557,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x33A1Ae6703362A0bcca814e3c1fC65Be0b8ccE61",
"sinceTimestamp": 1744192681,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xae88be44e17BcB66A8640831a9AB6f973181df7C",
"sinceTimestamp": 1746458199,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x615172e47c0C5A6dA8ea959632Ac0166f7a59eDc",
"sinceTimestamp": 1721230760,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0xBD9fB031dAC8FC48e7eB701DDEC90Cc194d5F4Db",
"sinceTimestamp": 1732796447,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x876fFa8AcBf043380675a579Eb1c67e8F097C045",
"sinceTimestamp": 1733432556,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0xC3C20718050019fF79eB8961b2A38289dB8204B4",
"sinceTimestamp": 1744192680,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x9f9D878bbd1118e7223f9d268d74fa6bdAf6CC52",
"sinceTimestamp": 1744193261,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SolvBTC"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x66E4158A9341eF7950aF5B1435dcCf84FB8D6993",
"sinceTimestamp": 1746458198,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x7Df716EAD1d83a2BF35B416B7BC84bd0700357C9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0x463B3777d3DD6a90234b594D1f94002267CE7948"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689107087,
"transactionHash": "0x8dda57c861029983d272a1d027defd399f3f9e2f2583e727b108e485801500c3",
"implementations": [
"eth:0x463B3777d3DD6a90234b594D1f94002267CE7948"
]
}
],
"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 Conduit Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Df716EAD1d83a2BF35B416B7BC84bd0700357C9#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xA38d0c4E6319F9045F20318BA5f04CDe94208608",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0x76983dfED43C7ae7ebB592A92Be2BE972cAE4348"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689107123,
"transactionHash": "0xb9822d59b3f66040b5283611a47e3ffaf597d522a7dc58fa41108dbf9594cd7a",
"implementations": [
"eth:0x76983dfED43C7ae7ebB592A92Be2BE972cAE4348"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **challenger**: PgnMultisig\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA38d0c4E6319F9045F20318BA5f04CDe94208608#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xb26Fd985c5959bBB382BAFdD0b879E149e48116c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0x75A2AAc09C8A51Bdde7303B06F1aD2fFFcCf8c09"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689107123,
"transactionHash": "0xb9822d59b3f66040b5283611a47e3ffaf597d522a7dc58fa41108dbf9594cd7a",
"implementations": [
"eth:0x436e9FC7894e26718637f086d42B4a06439C8ae0"
]
},
{
"timestamp": 1734131819,
"transactionHash": "0x3fe74b8c72f294ff456a997ea43070350485d48cb96da3390ae02837cf626789",
"implementations": [
"eth:0x75A2AAc09C8A51Bdde7303B06F1aD2fFFcCf8c09"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **balance_claimer**: BalanceClaimer\n * **guardian**: PgnMultisig",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb26Fd985c5959bBB382BAFdD0b879E149e48116c#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x97BAf688E5d0465E149d1d5B497Ca99392a6760e",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0x1d8180D739D01dC97e837478af8d494215C5EF5e"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689107087,
"transactionHash": "0x8dda57c861029983d272a1d027defd399f3f9e2f2583e727b108e485801500c3",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1689107123,
"transactionHash": "0xb9822d59b3f66040b5283611a47e3ffaf597d522a7dc58fa41108dbf9594cd7a",
"implementations": [
"eth:0x1d8180D739D01dC97e837478af8d494215C5EF5e"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97BAf688E5d0465E149d1d5B497Ca99392a6760e#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0xF5328094aE48F975CF588f361DDCC749F706aAF0"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **balance_claimer**: BalanceClaimer",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4#code"
}
]
},
"escrows": [
{
"address": "0xb26Fd985c5959bBB382BAFdD0b879E149e48116c",
"sinceTimestamp": 1689106847,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xb26Fd985c5959bBB382BAFdD0b879E149e48116c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0x75A2AAc09C8A51Bdde7303B06F1aD2fFFcCf8c09"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689107123,
"transactionHash": "0xb9822d59b3f66040b5283611a47e3ffaf597d522a7dc58fa41108dbf9594cd7a",
"implementations": [
"eth:0x436e9FC7894e26718637f086d42B4a06439C8ae0"
]
},
{
"timestamp": 1734131819,
"transactionHash": "0x3fe74b8c72f294ff456a997ea43070350485d48cb96da3390ae02837cf626789",
"implementations": [
"eth:0x75A2AAc09C8A51Bdde7303B06F1aD2fFFcCf8c09"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xb26Fd985c5959bBB382BAFdD0b879E149e48116c#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b",
"sinceTimestamp": 1689106811,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc6A8d2c5d0F068BE745f6A770378F01ca1714cc4"
],
"implementations": [
"eth:0xF5328094aE48F975CF588f361DDCC749F706aAF0"
]
},
"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/0xD0204B9527C1bA7bD765Fa5CCD9355d38338272b#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x2c6AF306F8D0Cd6d9E76D43b2DC9a4E60a7f446e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x6C766cBbCeb166a6Bfc72A365100D153dF9A3B98"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285611,
"transactionHash": "0x98c389a3264c55bfed390dd2c2f04204905f952e33e2e2622b2d05cba3f16c5f",
"implementations": [
"eth:0x6C766cBbCeb166a6Bfc72A365100D153dF9A3B98"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **guardian**: EOA 4",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2c6AF306F8D0Cd6d9E76D43b2DC9a4E60a7f446e#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x689db31D7C367ed2c264994c0838a82EdD6Bc9AA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0xae9fC3cFD19b751c893105c43A8ed8af6F9e1719"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285623,
"transactionHash": "0x06f05a5d629575c585b9ac47ede24ae30dfd9ad39631fb0e2edbd60505cd6188",
"implementations": [
"eth:0xae9fC3cFD19b751c893105c43A8ed8af6F9e1719"
]
}
],
"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 EOA 1\n * **batcherHash**: EOA 5\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x689db31D7C367ed2c264994c0838a82EdD6Bc9AA#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xb7850CFa577332EB839840e1411962AC3Dd2f183",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x503733C3d5AA487B88fA1FB475694da51744e4Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285743,
"transactionHash": "0x1f93c68ac898610ce0211403311e315e6b16f339d539dfc2ea90c68300ce7b30",
"implementations": [
"eth:0x503733C3d5AA487B88fA1FB475694da51744e4Cd"
]
},
{
"timestamp": 1733832503,
"transactionHash": "0x938849eda5221879fe8590b25582870db663a9988be25eef4051a2f254a8e6f4",
"implementations": [
"eth:0xCEBbcE0D64A1703dc74d3f3790A09c1E20a4cB09"
]
},
{
"timestamp": 1733834555,
"transactionHash": "0x9e414151d74fee791bf929a6ef63d9509950c5c3cebeeeddc3b72bb0eba43d5f",
"implementations": [
"eth:0x503733C3d5AA487B88fA1FB475694da51744e4Cd"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **challenger**: EOA 2\n * **proposer**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb7850CFa577332EB839840e1411962AC3Dd2f183#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xF014d8028A7028352baD6226A4894Ae596e2846c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x5cd233B95e4799444567873902bf9f9f20D3F640"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285767,
"transactionHash": "0x3dab6ec8da16855b5daff549ac44e17fec27c881f44e469b9e3daecfd17148f1",
"implementations": [
"eth:0x5cd233B95e4799444567873902bf9f9f20D3F640"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF014d8028A7028352baD6226A4894Ae596e2846c#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x9bB00Bc6388Ec810d79cD0e8D5C33edFD4Fd1fa8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x13a9A075D8Aa2D93c3d32F1C61aB671108fedE6E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285227,
"transactionHash": "0x0ac1cecdefcef1ffc0a495e77beea1fa1fca2a465a9a88132cb90613b9c6ce7a",
"implementations": [
"eth:0x13a9A075D8Aa2D93c3d32F1C61aB671108fedE6E"
]
}
],
"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 EOA 1\n * **guardian**: EOA 4",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9bB00Bc6388Ec810d79cD0e8D5C33edFD4Fd1fa8#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x5b0e75a52862881b4077C865B244CC17cD2b531b",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x8bA829f040EB57668BDfb010472AEb0a16B2399C"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285719,
"transactionHash": "0xe75d91c9c73e244e39548e7396733c48fd0c74f903280cb31e493af29b505b9e",
"implementations": [
"eth:0x8bA829f040EB57668BDfb010472AEb0a16B2399C"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5b0e75a52862881b4077C865B244CC17cD2b531b#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x683ca289a8418Cb090E42929A73a263d7b81DfC2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0xBab69f0A56Aea1117C0298341ddE52F3DbAfe4D1"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x683ca289a8418Cb090E42929A73a263d7b81DfC2#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xF24e68552ED9F4024E1cEBa8ECB8715F62Bb9259",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0xff57b96E6F426f9dEC14f083dE0D3aD9B95887b6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285659,
"transactionHash": "0xc22d88aebf82016cc7be7e4bbf44ec4db9d4743dcd4640abc74a668a58054457",
"implementations": [
"eth:0xff57b96E6F426f9dEC14f083dE0D3aD9B95887b6"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF24e68552ED9F4024E1cEBa8ECB8715F62Bb9259#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x192668f6b57DeB9D46e6DE87caD7065a052fe1b4",
"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/0x192668f6b57DeB9D46e6DE87caD7065a052fe1b4#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x465833609d9ff2Cb9A070b0d71b700F318C97293",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x9Dc689620a87803378b3304776dd5AE9070730A8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285779,
"transactionHash": "0xfa9788edba99991156bf536f76638d428526a8376968aa80e6865e2d2f3bc839",
"implementations": [
"eth:0x9Dc689620a87803378b3304776dd5AE9070730A8"
]
}
],
"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 EOA 1\n * **owner**: GnosisSafe; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x465833609d9ff2Cb9A070b0d71b700F318C97293#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x73bD898CD5b1dE0Ad1ED5Bf51aaEb52129F697d8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x1561Fb12A6eFc3C63b881dE403A76B5F7Cd6a6CF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285671,
"transactionHash": "0x1d85e76cf844ae2c48005a2147ddde53c91e0363e3d74b7ca350b2dd940f0e59",
"implementations": [
"eth:0x1561Fb12A6eFc3C63b881dE403A76B5F7Cd6a6CF"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73bD898CD5b1dE0Ad1ED5Bf51aaEb52129F697d8#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x82e66E285aeAd8C06D8b5d6f2a46fd6fAb9097e6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x82e66E285aeAd8C06D8b5d6f2a46fd6fAb9097e6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: GnosisSafe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xC5D5B6fCD5FdBdA41Ae640aC9881dC949aEd36d0",
"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* Roles:\n * **challenger**: EOA 2\n * **proposer**: EOA 6",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC5D5B6fCD5FdBdA41Ae640aC9881dC949aEd36d0#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xe7C8a3Dd5A03E01e92bD019bBd89bd67aCeC036F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x57923d2b2A4B32b0F1001022Fd81b9F0655F3AD5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285791,
"transactionHash": "0x84194bd88d7abf301864917a84d4b9c64c52c4d3665fbd0bab82fd3bef33a9da",
"implementations": [
"eth:0x57923d2b2A4B32b0F1001022Fd81b9F0655F3AD5"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe7C8a3Dd5A03E01e92bD019bBd89bd67aCeC036F#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0xFED2F84E3e18e24EE6aa5f375edBA79782FDA6D2",
"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/0xFED2F84E3e18e24EE6aa5f375edBA79782FDA6D2#code"
}
]
},
"escrows": [
{
"address": "0x2c6AF306F8D0Cd6d9E76D43b2DC9a4E60a7f446e",
"sinceTimestamp": 1728285287,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x2c6AF306F8D0Cd6d9E76D43b2DC9a4E60a7f446e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0x6C766cBbCeb166a6Bfc72A365100D153dF9A3B98"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728285611,
"transactionHash": "0x98c389a3264c55bfed390dd2c2f04204905f952e33e2e2622b2d05cba3f16c5f",
"implementations": [
"eth:0x6C766cBbCeb166a6Bfc72A365100D153dF9A3B98"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x2c6AF306F8D0Cd6d9E76D43b2DC9a4E60a7f446e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x683ca289a8418Cb090E42929A73a263d7b81DfC2",
"sinceTimestamp": 1728285311,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x683ca289a8418Cb090E42929A73a263d7b81DfC2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8E2dF5BfA8F8840C588662eE2D1b727b3982CdCA"
],
"implementations": [
"eth:0xBab69f0A56Aea1117C0298341ddE52F3DbAfe4D1"
]
},
"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/0x683ca289a8418Cb090E42929A73a263d7b81DfC2#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x0485Ca8A73682B3D3f5ae98cdca1E5b512E728e9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0xF3C933F69a43f5a967062448F62b736043b5dEf5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427495,
"transactionHash": "0x75e407679d8ac495fc734990ef0bdb0179a827284c0c49a5bb555410194e2148",
"implementations": [
"eth:0xF3C933F69a43f5a967062448F62b736043b5dEf5"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Race Multisig 1\n * **guardian**: Race Multisig 2",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0485Ca8A73682B3D3f5ae98cdca1E5b512E728e9#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x8bF8442d49d52377d735a90F19657a29f29aA83c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x22f3BB2c9E8540FD47B4Ab83F74E0E838e1756A2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427471,
"transactionHash": "0x735166f0c113d359192fd351fc41417d59f9d2f06a4a8626c935f992c6d81061",
"implementations": [
"eth:0x22f3BB2c9E8540FD47B4Ab83F74E0E838e1756A2"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Race Multisig 1\n * **challenger**: Race Multisig 2\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8bF8442d49d52377d735a90F19657a29f29aA83c#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xCf6A32dB8b3313b3d439CE6909511c2c3415fa32",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427363,
"transactionHash": "0x3d2be3c5ca9e5dd726fde8d99662c3a271b676377d58e6784617cab843668e9c",
"implementations": [
"eth:0xe72ac62d31A0CCc8Ecd2b3Ac80E73479641715e2"
]
},
{
"timestamp": 1745507579,
"transactionHash": "0x1219b34d44c22cc95607948fa43919e4015c77fb6ae8aeda540a4fbf11636242",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1745507579,
"transactionHash": "0x1219b34d44c22cc95607948fa43919e4015c77fb6ae8aeda540a4fbf11636242",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
}
],
"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 Race Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: Race Multisig 3",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf6A32dB8b3313b3d439CE6909511c2c3415fa32#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xCB73B7348705a9F925643150Eb00350719380FF8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x13BC171e3014355969Fa022e33839653829697C2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427099,
"transactionHash": "0x55666e43d4e0c5b88cf4b9ef968daf1cce4d5de81f15d97e63249e1bfa13290c",
"implementations": [
"eth:0x13BC171e3014355969Fa022e33839653829697C2"
]
}
],
"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 Race Multisig 1\n * **guardian**: Race Multisig 2",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCB73B7348705a9F925643150Eb00350719380FF8#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x0f33D824d74180598311b3025095727BeA61f219",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x122cdded0fc84aD675B55f212e114A4B2e6879ee"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427399,
"transactionHash": "0xbf8403cc61422f9909f724ba0888a205462e30aeff824beedfc481568af2870f",
"implementations": [
"eth:0x122cdded0fc84aD675B55f212e114A4B2e6879ee"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Race Multisig 1",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0f33D824d74180598311b3025095727BeA61f219#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x680969A6c58183987c8126ca4DE6b59C6540Cd2a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x4E40ee3E2f8ff7A915c23473D0C256ADc77fa03F"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Race Multisig 1",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x680969A6c58183987c8126ca4DE6b59C6540Cd2a#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xf54B2BAEF894cfF5511A5722Acaac0409F2F2d89",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x01Dae1EFfB0D0469fC4a9695866D5cc75190e385"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427447,
"transactionHash": "0xbe6eca4bc039c21c194fcb59eb45123da52e0d8033833cd7dfcc9e04792326d0",
"implementations": [
"eth:0x01Dae1EFfB0D0469fC4a9695866D5cc75190e385"
]
}
],
"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 Race Multisig 1",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf54B2BAEF894cfF5511A5722Acaac0409F2F2d89#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x1d1c4C89AD5FF486c3C67E3DD84A22CF05420711",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x6291F75ea1E525FF9bA50AE09a82BC23DE9b9850"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427411,
"transactionHash": "0x026eb59bb60bcbfba413c2a4c412c45575afb379d26a329c3323c957da21b528",
"implementations": [
"eth:0x6291F75ea1E525FF9bA50AE09a82BC23DE9b9850"
]
}
],
"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 Race Multisig 1",
"upgradableBy": [
{
"name": "Race Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1d1c4C89AD5FF486c3C67E3DD84A22CF05420711#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Race Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191#code"
}
]
},
"escrows": [
{
"address": "0x0485Ca8A73682B3D3f5ae98cdca1E5b512E728e9",
"sinceTimestamp": 1720427159,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x0485Ca8A73682B3D3f5ae98cdca1E5b512E728e9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0xF3C933F69a43f5a967062448F62b736043b5dEf5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720427495,
"transactionHash": "0x75e407679d8ac495fc734990ef0bdb0179a827284c0c49a5bb555410194e2148",
"implementations": [
"eth:0xF3C933F69a43f5a967062448F62b736043b5dEf5"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x0485Ca8A73682B3D3f5ae98cdca1E5b512E728e9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x680969A6c58183987c8126ca4DE6b59C6540Cd2a",
"sinceTimestamp": 1720427195,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x680969A6c58183987c8126ca4DE6b59C6540Cd2a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9B3C6D1d33F1fd82Ebb8dFbE38dA162B329De191"
],
"implementations": [
"eth:0x4E40ee3E2f8ff7A915c23473D0C256ADc77fa03F"
]
},
"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/0x680969A6c58183987c8126ca4DE6b59C6540Cd2a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+4 -4
+2 -2
{
"arbitrum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "arb1:0xffE86271e68A0365d71B86b101Fc8CA5546E7E77",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "arb1:0xeCebCfC101c3a1c4dB99902cE1Df914dCAd50a65",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 4/5 threshold. \n* Can upgrade **with no delay**\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * CustomGateway [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x60BA5fd28Ba522665e282299f12b8e31D7Fe172a",
"type": "Contract",
"isVerified": true,
"name": "0x60BA…172a",
"url": "https://arbiscan.io/address/0x60BA5fd28Ba522665e282299f12b8e31D7Fe172a"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x1E85A7F629B4E52BA34C19BEA149c804b00722eF",
"type": "EOA",
"isVerified": true,
"name": "0x1E85…22eF",
"url": "https://arbiscan.io/address/0x1E85A7F629B4E52BA34C19BEA149c804b00722eF"
},
{
"address": "arb1:0xc502de1bAe5281DcD012b8837b8d1A1406486F8E",
"type": "EOA",
"isVerified": true,
"name": "0xc502…6F8E",
"url": "https://arbiscan.io/address/0xc502de1bAe5281DcD012b8837b8d1A1406486F8E"
},
{
"address": "arb1:0xd9C3EeD65968443F8587Bb068e6530A48dB5d177",
"type": "EOA",
"isVerified": true,
"name": "0xd9C3…d177",
"url": "https://arbiscan.io/address/0xd9C3EeD65968443F8587Bb068e6530A48dB5d177"
},
{
"address": "arb1:0x25Ad94C7768108666BfDB6742aB66b109CA82946",
"type": "EOA",
"isVerified": true,
"name": "0x25Ad…2946",
"url": "https://arbiscan.io/address/0x25Ad94C7768108666BfDB6742aB66b109CA82946"
},
{
"address": "arb1:0x636e1f9A9Cb926a69441DcE54Aa9e490CFe6D4D6",
"type": "EOA",
"isVerified": true,
"name": "0x636e…D4D6",
"url": "https://arbiscan.io/address/0x636e1f9A9Cb926a69441DcE54Aa9e490CFe6D4D6"
}
],
"discoveryDrivenData": true
},
{
"id": "Caldera Multisig 1",
"name": "Caldera Multisig 1",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * CustomGateway [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x6FD149B3d41fd860B9Da1A6fE54e902eF41F68BF",
"type": "Contract",
"isVerified": true,
"name": "0x6FD1…68BF",
"url": "https://arbiscan.io/address/0x6FD149B3d41fd860B9Da1A6fE54e902eF41F68BF"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xbCDb12b7a5bDe037e342a6BE7fd5582b9D93C232",
"type": "EOA",
"isVerified": true,
"name": "0xbCDb…C232",
"url": "https://arbiscan.io/address/0xbCDb12b7a5bDe037e342a6BE7fd5582b9D93C232"
},
{
"address": "arb1:0xe5219fe14E2FD520Ff80be036790913053d1575d",
"type": "EOA",
"isVerified": true,
"name": "0xe521…575d",
"url": "https://arbiscan.io/address/0xe5219fe14E2FD520Ff80be036790913053d1575d"
},
{
"address": "arb1:0x62ea938a30826c8794C8B8BbA775B91cAE3B849A",
"type": "EOA",
"isVerified": true,
"name": "0x62ea…849A",
"url": "https://arbiscan.io/address/0x62ea938a30826c8794C8B8BbA775B91cAE3B849A"
},
{
"address": "arb1:0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0",
"type": "EOA",
"isVerified": true,
"name": "0x9e14…BcD0",
"url": "https://arbiscan.io/address/0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0"
},
{
"address": "arb1:0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b",
"type": "EOA",
"isVerified": true,
"name": "0xe62a…6A6b",
"url": "https://arbiscan.io/address/0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b"
},
{
"address": "arb1:0xEC114946E7213d113c9B9481028271B5E9e09371",
"type": "EOA",
"isVerified": true,
"name": "0xEC11…9371",
"url": "https://arbiscan.io/address/0xEC114946E7213d113c9B9481028271B5E9e09371"
},
{
"address": "arb1:0xbf853295743511e8DC5F03809d209C33fC136d24",
"type": "EOA",
"isVerified": true,
"name": "0xbf85…6d24",
"url": "https://arbiscan.io/address/0xbf853295743511e8DC5F03809d209C33fC136d24"
},
{
"address": "arb1:0x356000Cec4fC967f8FC372381D983426760A0391",
"type": "EOA",
"isVerified": true,
"name": "Caldera",
"url": "https://arbiscan.io/address/0x356000Cec4fC967f8FC372381D983426760A0391"
}
],
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * ArbitrumBlobstream \n* Can interact with ArbitrumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997",
"type": "Contract",
"isVerified": true,
"name": "0x738a…7997",
"url": "https://arbiscan.io/address/0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://arbiscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "arb1:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://arbiscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
},
{
"address": "arb1:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://arbiscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "arb1:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://arbiscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "arb1:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://arbiscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "arb1:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://arbiscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
}
],
"discoveryDrivenData": true
},
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 2/4 threshold. ",
"accounts": [
{
"address": "arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5",
"type": "Contract",
"isVerified": true,
"name": "0x6Dc6…1dA5",
"url": "https://arbiscan.io/address/0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63",
"type": "EOA",
"isVerified": true,
"name": "0xb9e4…9b63",
"url": "https://arbiscan.io/address/0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63"
},
{
"address": "arb1:0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6",
"type": "EOA",
"isVerified": true,
"name": "0x5582…26e6",
"url": "https://arbiscan.io/address/0x5582a8A4f2B04341697cEA4Cf4289a01814C26e6"
},
{
"address": "arb1:0x5E768dd03BD821703ef825e057434De85913EEAC",
"type": "EOA",
"isVerified": true,
"name": "0x5E76…EEAC",
"url": "https://arbiscan.io/address/0x5E768dd03BD821703ef825e057434De85913EEAC"
},
{
"address": "arb1:0x00B96a8454dc757240e475B5e6e7DcAAf401930f",
"type": "EOA",
"isVerified": true,
"name": "0x00B9…930f",
"url": "https://arbiscan.io/address/0x00B96a8454dc757240e475B5e6e7DcAAf401930f"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0xffE86271e68A0365d71B86b101Fc8CA5546E7E77",
"type": "EOA",
"isVerified": true,
"name": "0xffE8…7E77",
"url": "https://arbiscan.io/address/0xffE86271e68A0365d71B86b101Fc8CA5546E7E77"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) \n* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "arb1:0xeCebCfC101c3a1c4dB99902cE1Df914dCAd50a65",
"type": "EOA",
"isVerified": true,
"name": "0xeCeb…0a65",
"url": "https://arbiscan.io/address/0xeCebCfC101c3a1c4dB99902cE1Df914dCAd50a65"
}
],
"chain": "arbitrum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-3-and-EOA-4",
"name": "EOA 3 and EOA 4",
"accounts": [
{
"address": "arb1:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://arbiscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "arb1:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://arbiscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "arbitrum",
"description": "* Can interact with ArbitrumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * BaseBlobstream \n* Can interact with BaseBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6",
"type": "Contract",
"isVerified": true,
"name": "0x6ABa…1Ca6",
"url": "https://basescan.org/address/0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://basescan.org/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "base:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://basescan.org/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "base:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://basescan.org/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "base:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://basescan.org/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "base:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://basescan.org/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "base:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://basescan.org/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-5-and-EOA-6",
"name": "EOA 5 and EOA 6",
"accounts": [
{
"address": "base:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://basescan.org/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "base:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://basescan.org/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "base",
"description": "* Can interact with BaseBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [],
"actors": [
{
"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": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * EthereumBlobstream \n* Can interact with EthereumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6",
"type": "Contract",
"isVerified": true,
"name": "0x8bF3…18E6",
"url": "https://etherscan.io/address/0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://etherscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "eth:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://etherscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "eth:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://etherscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "eth:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://etherscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "eth:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://etherscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-7-and-EOA-8",
"name": "EOA 7 and EOA 8",
"accounts": [
{
"address": "eth:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://etherscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "eth:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://etherscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "ethereum",
"description": "* Can interact with EthereumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
}
}
+2 -2
{
"addresses": {
"arbitrum": [
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x2e988Ea0873C9d712628F0bf38DAFdE754927C89",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x139C5A235632EDdad741ff380112B3161d31a21C"
],
"implementations": [
"arb1:0x086Fe1f212A4F311f1e3027A35dE3d45dC4AFA42",
"arb1:0x107B8ff1daeEFc37c27fc794fdb0828A1B5Af262"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0xc326D023758d7D212d529D1E58D7f271CAe49fcf",
"arb1:0xD92D49e8A2230E2C7a73c3ff4Df1AED09dA32a07"
]
},
{
"timestamp": 1730751274,
"transactionHash": "0x3da8ef35136e3b37f5b7ea453a773a9a22a9195d2fac287a5b30ebac420f1357",
"implementations": [
"arb1:0x8470c94a718f062156a4663ea797359E908b5836",
"arb1:0x5bc2d4D25446Fa7C51Eefe10e2FdF846bD355A5d"
]
},
{
"timestamp": 1734537691,
"transactionHash": "0xf6ba2a68694536996ab068340a4b4abc811a9d72c0ad5c2af34ccea6c7a25c88",
"implementations": [
"arb1:0x086Fe1f212A4F311f1e3027A35dE3d45dC4AFA42",
"arb1:0x107B8ff1daeEFc37c27fc794fdb0828A1B5Af262"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 1, SafeL2\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 1, SafeL2\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2e988Ea0873C9d712628F0bf38DAFdE754927C89#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xA436f1867adD490BF1530c636f2FB090758bB6B3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0xF39c8d67B55Fef4851f9267304aA1A030E0DecAC"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x1d182075d07744D71E37f77f1654165f6DAFad08"
]
},
{
"timestamp": 1730748413,
"transactionHash": "0x2def26eb81ac9d539c866215344b91b71bef86d51fb556eaf6bafd6703e68bb6",
"implementations": [
"arb1:0x305eD6932AbF2e997832C570E467320BbA1491F4"
]
},
{
"timestamp": 1734537691,
"transactionHash": "0xf6ba2a68694536996ab068340a4b4abc811a9d72c0ad5c2af34ccea6c7a25c88",
"implementations": [
"arb1:0xa8968d1dbA3F93FB7412d15F4139C0f63537e9E2"
]
},
{
"timestamp": 1738182192,
"transactionHash": "0xb59494487d444c465d61f19a4fe9830806da172e2883ae0861c155f3066592a7",
"implementations": [
"arb1:0xE2DdF957261A6d8a96A7eff29C51460707FfbBE5"
]
},
{
"timestamp": 1738289135,
"transactionHash": "0x206804ee59ae4cd1cd13fc2c92c59958f3ecfcf3f210b2d583a6816e3a4a0b10",
"implementations": [
"arb1:0x805dc3546d99AfB35EfB261b907679b67A08256e"
]
},
{
"timestamp": 1746452624,
"transactionHash": "0x4eacd17837407047b65635abdfb9d2693b58efa4040f33baca7b9d27271b0a2c",
"implementations": [
"arb1:0xF39c8d67B55Fef4851f9267304aA1A030E0DecAC"
]
},
{
"timestamp": 1747765120,
"transactionHash": "0x1ff1a74aaa6a58e0a3389de2761ed84c9051a4ffea080265aae0d62aaf9df75c",
"implementations": [
"arb1:0xF39c8d67B55Fef4851f9267304aA1A030E0DecAC"
]
}
],
"description": "The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here. This version of the SequencerInbox also supports commitments to data that is posted to Celestia.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2\n * **batchPosterManager**: EOA 1\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA436f1867adD490BF1530c636f2FB090758bB6B3#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0xa9064FebD91E9Ab4c49C8989926Cada18bc9C8FF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x7e4c2B3405cA7900d0f7C2DBEF3Dc127D9f3Cb9b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x935239e066F4F449D87D600e6d7c1a4F24c50f97"
]
},
{
"timestamp": 1730748413,
"transactionHash": "0x2def26eb81ac9d539c866215344b91b71bef86d51fb556eaf6bafd6703e68bb6",
"implementations": [
"arb1:0xa24eF25c521d7927c11d7Da940b4B63e0E9575C6"
]
},
{
"timestamp": 1730751274,
"transactionHash": "0x3da8ef35136e3b37f5b7ea453a773a9a22a9195d2fac287a5b30ebac420f1357",
"implementations": [
"arb1:0x7Eac96FDa155F0cE911d93D540e405e4020B082D"
]
},
{
"timestamp": 1734537691,
"transactionHash": "0xf6ba2a68694536996ab068340a4b4abc811a9d72c0ad5c2af34ccea6c7a25c88",
"implementations": [
"arb1:0xFd7A2567C6b56153f1b0D4FDbCc671d178a971fc"
]
},
{
"timestamp": 1746452624,
"transactionHash": "0x4eacd17837407047b65635abdfb9d2693b58efa4040f33baca7b9d27271b0a2c",
"implementations": [
"arb1:0x5DD914a56853Da4C6Cee07827483F532e65B6FeD"
]
},
{
"timestamp": 1747765120,
"transactionHash": "0x1ff1a74aaa6a58e0a3389de2761ed84c9051a4ffea080265aae0d62aaf9df75c",
"implementations": [
"arb1:0x7e4c2B3405cA7900d0f7C2DBEF3Dc127D9f3Cb9b"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa9064FebD91E9Ab4c49C8989926Cada18bc9C8FF#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x139C5A235632EDdad741ff380112B3161d31a21C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2\n * **executors**: Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x139C5A235632EDdad741ff380112B3161d31a21C#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x37e60F80d921dc5E7f501a7130F31f6548dBa564",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x4cA89361F5F79092822F95F34334227528ed63A8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x198792E7e60688FEeB0b89f0ABD3b85953Dd05Cd"
]
},
{
"timestamp": 1746452624,
"transactionHash": "0x4eacd17837407047b65635abdfb9d2693b58efa4040f33baca7b9d27271b0a2c",
"implementations": [
"arb1:0x6B292d1d4D38653b4F1D6De41c6be198371C5af1"
]
},
{
"timestamp": 1747765120,
"transactionHash": "0x1ff1a74aaa6a58e0a3389de2761ed84c9051a4ffea080265aae0d62aaf9df75c",
"implementations": [
"arb1:0x4cA89361F5F79092822F95F34334227528ed63A8"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x37e60F80d921dc5E7f501a7130F31f6548dBa564#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x91591BB66075BCfF94AA128B003134165C3Ab83a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x84Cf78b9573daDb2FBa3028e49e0B5F785134360"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x84Cf78b9573daDb2FBa3028e49e0B5F785134360"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x91591BB66075BCfF94AA128B003134165C3Ab83a#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x2623C144B4d167f70893f6A8968B98c89a6C5F97",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x532Ba80626DF9042353fa9509A66a25eE90fc51B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0x532Ba80626DF9042353fa9509A66a25eE90fc51B"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2623C144B4d167f70893f6A8968B98c89a6C5F97#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0x8bE956aB42274056ef4471BEb211b33e258b7324",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8bE956aB42274056ef4471BEb211b33e258b7324#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x003e70B041abb993006C03E56c8515622a02928C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x003e70B041abb993006C03E56c8515622a02928C#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x1e5fCE58D1358aCbc3d32ac106a20B7F19C434eC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1e5fCE58D1358aCbc3d32ac106a20B7F19C434eC#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x2BA5cB2D332E266c43D0Ef18F879650d00630B61",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2BA5cB2D332E266c43D0Ef18F879650d00630B61#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x3A765e7a1709C19F065F098AAF2940AAA7ac0AE3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (ArbitrumBlobstream) as source of truth for the DA referenced by the fault proof.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3A765e7a1709C19F065F098AAF2940AAA7ac0AE3#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x3bC4894370dE0Aa304ed717c2e01866c46F1CEa6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x73D3a5E535cBF98B9b5Ff7fEb8EC26e61FCEC4b7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x73D3a5E535cBF98B9b5Ff7fEb8EC26e61FCEC4b7"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3bC4894370dE0Aa304ed717c2e01866c46F1CEa6#code"
},
{
"name": "QuoteVerifier",
"isVerified": true,
"address": "arb1:0x4613038C93aF8963dc9E5e46c9fb3cbc68724df1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0x729E3e7542E8A6630818E9a14A67e0Cb7008a5E5), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4613038C93aF8963dc9E5e46c9fb3cbc68724df1#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x9e83136d4B3AD04C766591EA51712F9aEa3194C0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9e83136d4B3AD04C766591EA51712F9aEa3194C0#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xb47a57a218911653d964fE8aAa1cED55A71D8043",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb47a57a218911653d964fE8aAa1cED55A71D8043#code"
},
{
"name": "EspressoTEEVerifier",
"isVerified": true,
"address": "arb1:0xEe8f0e3BC9c3965460B99D0D2DFBb05c508536fb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xEe8f0e3BC9c3965460B99D0D2DFBb05c508536fb#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 3, EOA 4",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 5, EOA 6",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"ethereum": [
{
"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": "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": "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": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 7, EOA 8",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
]
},
"escrows": [
{
"address": "0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0",
"sinceTimestamp": 1705716145,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6",
"sinceTimestamp": 1705716148,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x8bE956aB42274056ef4471BEb211b33e258b7324",
"sinceTimestamp": 1705716148,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x8bE956aB42274056ef4471BEb211b33e258b7324",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting custom token on L2.",
"url": "https://arbiscan.io/address/0x8bE956aB42274056ef4471BEb211b33e258b7324#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "Celestia Nitro 3.3.2 wasmModuleRoot",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games, which uses Celestia DA.",
"programUrl": "https://github.com/celestiaorg/nitro/tree/celestia-v3.3.2/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [celestiaorg/nitro](https://github.com/celestiaorg/nitro/tree/celestia-v3.3.2) repo: `git checkout celestia-v3.3.2` . Commit hash should be `7c9d688a256cc60f2b8db9dbe9ac40511d0d1f2e`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xaf1dbdfceb871c00bfbb1675983133df04f0ed04e89647812513c091e3a982b3"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x8f2428F7189c0d92D1c4a5358903A8c80Ec6a69D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0xd20eF07Ca38301735782e3B89c0E192fD8Ec002d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184851,
"transactionHash": "0x50f32695d91406fffb379d86fc419709302f876eafff6be1bbc031193899bd3e",
"implementations": [
"eth:0xd20eF07Ca38301735782e3B89c0E192fD8Ec002d"
]
}
],
"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 RedstoneMultisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f2428F7189c0d92D1c4a5358903A8c80Ec6a69D#code"
},
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0x97A2dA87d3439b172e6DD027220e01c9Cb565B80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0xba2507dbC415e0D0fa3AA10C2D4559049A93d946"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184539,
"transactionHash": "0x116cc85d8a00169cf0139e080fe70308ade8270518a12d773974f8379d755ebb",
"implementations": [
"eth:0xba2507dbC415e0D0fa3AA10C2D4559049A93d946"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RedstoneMultisig\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97A2dA87d3439b172e6DD027220e01c9Cb565B80#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xa426A052f657AEEefc298b3B5c35a470e4739d69",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0xB78071f03F4D7601129773070F2Dde6184e1BD87"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184959,
"transactionHash": "0xf323b3f7134b93571d9553f5ee8c2c1dade64e6a366d3f2deccdb72c9d814bc8",
"implementations": [
"eth:0xB78071f03F4D7601129773070F2Dde6184e1BD87"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RedstoneMultisig\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa426A052f657AEEefc298b3B5c35a470e4739d69#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0xD0e1065F2A941Dd723F800C34D2D4282C3158A00"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712185019,
"transactionHash": "0xc390979b2ba99e44724e57d179f9ad92e63f86529a80075f669a6956ac3e0210",
"implementations": [
"eth:0xD0e1065F2A941Dd723F800C34D2D4282C3158A00"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RedstoneMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x4b5b41c240173191425F5928bc6bdd0d439331BB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0x45920c2242a7F2121716431Dd7c2d68740726934"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184467,
"transactionHash": "0xd939a10e3833a3a491de738731a0c8bced220433bffc41ebc4c26e3de1e7350d",
"implementations": [
"eth:0x45920c2242a7F2121716431Dd7c2d68740726934"
]
}
],
"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 RedstoneMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4b5b41c240173191425F5928bc6bdd0d439331BB#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x4FFB98dBC3086bA85d5E626a6EbC3D0d08533fF4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0x91Cb4eb84F7117196B1c117C7705F2eAF55AfA16"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184887,
"transactionHash": "0xa5ea670d4c54694d3b6205fb324a0bf6df7f76a23a2de4915ba2b302a8cb1178",
"implementations": [
"eth:0x91Cb4eb84F7117196B1c117C7705F2eAF55AfA16"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RedstoneMultisig",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4FFB98dBC3086bA85d5E626a6EbC3D0d08533fF4#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x592C1299e0F8331D81A28C0FC7352Da24eDB444a",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0x17AaA27ecEc9a0c530e6Dbd086b6049DCF6D9382"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184935,
"transactionHash": "0x1596672f469063a73fcb89c6de464d4102a5e1f8e6943d0d7fea90e09e583357",
"implementations": [
"eth:0x17AaA27ecEc9a0c530e6Dbd086b6049DCF6D9382"
]
}
],
"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 RedstoneMultisig",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x592C1299e0F8331D81A28C0FC7352Da24eDB444a#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0x49b20cBfA1d582475b2466A784B91dEe4549C737"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RedstoneMultisig",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x5f962474834Cf1981Df6232e4b6431d3d10cb71D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0x9a3292E64C7b7bf6E04c1ebC7D6671bD82dAbf8B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712184899,
"transactionHash": "0xa50adeccfa5cfbd2975667e646b3481c0860cbeb428555f80379e163cf995860",
"implementations": [
"eth:0x9a3292E64C7b7bf6E04c1ebC7D6671bD82dAbf8B"
]
}
],
"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 RedstoneMultisig",
"upgradableBy": [
{
"name": "RedstoneMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5f962474834Cf1981Df6232e4b6431d3d10cb71D#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RedstoneMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCC53b447aFe07926423aB96D5496b1af30485ED2#code"
}
]
},
"escrows": [
{
"address": "0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae",
"sinceTimestamp": 1712184551,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0xD0e1065F2A941Dd723F800C34D2D4282C3158A00"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712185019,
"transactionHash": "0xc390979b2ba99e44724e57d179f9ad92e63f86529a80075f669a6956ac3e0210",
"implementations": [
"eth:0xD0e1065F2A941Dd723F800C34D2D4282C3158A00"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xC7bCb0e8839a28A1cFadd1CF716de9016CdA51ae#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69",
"sinceTimestamp": 1712184575,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC53b447aFe07926423aB96D5496b1af30485ED2"
],
"implementations": [
"eth:0x49b20cBfA1d582475b2466A784B91dEe4549C737"
]
},
"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/0xc473ca7E02af24c129c2eEf51F2aDf0411c1Df69#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+5 -10
+5 -10
{
"creator": "RISC Zero",
"projectsForTvs": [
{
"projectId": "taiko",
"sinceTimestamp": 1730452800
},
{
"projectId": "bob",
"sinceTimestamp": 1752703200
},
{
"projectId": "megaeth",
"sinceTimestamp": 1763954183
},
{
"projectId": "soon",
"sinceTimestamp": 1765180787
}
],
"proofSystemInfo": "\n \n ## Description\n\n RISC Zero is the first zkVM proving RISC-V ISA programs. Its STARK proving system is based on a rather standard theoretical construction of [Ben-Sasson et al paper](https://eprint.iacr.org/2018/046) and [DEEP-ALI version of FRI](https://eprint.iacr.org/2019/336). The proof of zkVM execution is wrapped in Groth16 SNARK for efficient onchain verification. RISC Zero onchain verifier targets [96 bits of security](https://dev.risczero.com/api/security-model#cryptographic-security).\n\n ## Proof system\n\n ### RISC-V circuit\n\n RISC Zero implements a [circuit that proves RISC-V RV32IM instruction set](https://github.com/risc0/risc0/tree/main/risc0/circuit/rv32im) (see [here](https://dev.risczero.com/api/zkvm/zkvm-specification#the-zkvm-execution-model) for more details). Arithmetization of this circuit has different types of columns: control, data and accumulator. Control columns contain public data that describes the RISC-V program being executed and proven. Data and accumulator columns contain private data (accessible only to prover), data represents the running state of the processor and memory and accumulator is auxiliary data for the PLOOKUP argument.\n\n ### Recursion circuit\n\n RISC Zero prover supports recursive proving of RISC-V programs using [recursion circuit](https://github.com/risc0/risc0/tree/main/risc0/circuit/recursion). This is a separate STARK circuit that is designed to efficiently generate proofs for the verification of STARK proofs, it uses the same proving system as the RISC-V circuit.\n\n Big programs are split into several segments that are executed and proven in parallel. Segment receipts (i.e. proofs of correct execution) are verified with recursion circuits and succinct receipts are produced. These succinct receipts could be recursively joined in pairs of two until a single succinct proof of the whole execution is produced. \n\n ### Final wrap\n\n RISC Zero [implements a SNARK wrapping](https://github.com/risc0/risc0/tree/main/risc0/groth16) of a recursive succinct receipt into a Groth16 proof over BN254 curve for onchain verification. This Groth16 R1CS circuit uses a circuit-specific trusted setup, the ceremony was run by RISC Zero, see [below](#trusted-setups) for more details. \n\n The final wrap circuit has a [control root](https://dev.risczero.com/terminology#control-root) public input that depends on the RISC-V and recursion circuit versions. This design allows upgrading RISC Zero proving system without changing the final wrapper and thus without running a new trusted setup ceremony.\n ",
"techStack": {
"zkVM": [
{
"id": "RISC0",
"type": "STARK",
"name": "Risc0",
"description": "zkVM STARK proving system developed by RISC ZERO for RISC-V programs."
},
{
"id": "RISCV32",
"type": "ISA",
"name": "RISC-V 32bit",
"description": "Free and open-source universal 32-bit ISA used across a variety of hardware and software."
},
{
"id": "BabyBear",
"type": "Field",
"name": "Baby Bear",
"description": "Prime field of order p = 15 * 2**27 + 1."
}
],
"finalWrap": [
{
"id": "Snarkjs",
"type": "Groth16",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Groth16 proving system written in JS."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Snarkjs",
"type": "Groth16",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Groth16 proving system written in JS."
},
"id": "Risc0",
"name": "Risc0 Groth16",
"risk": "green",
"shortDescription": "Circuit-specific trusted setup for Risc0 final wrap Groth16 onchain verifier. It was publicly announced and run with 238 participants.",
"longDescription": "\n Ceremony for a circuit-specific trusted setup run by Risc0 for Groth16 circuits verifying Risc0 STARK proof. \n It was publicly announced and run with 238 participants. Ceremony transcript, as well as instructions for participation and verification \n are publicly available.\n\n - Ceremony instructions: [https://risczero.com/blog/ceremony-contribution-public-instructions](https://risczero.com/blog/ceremony-contribution-public-instructions)\n - Link to the verification: [https://dev.risczero.com/api/trusted-setup-ceremony#the-transcript-matches-the-circuit](https://dev.risczero.com/api/trusted-setup-ceremony#the-transcript-matches-the-circuit)\n - Post with a call to community to participate: [https://x.com/RiscZero/status/1781110200923275769](https://x.com/RiscZero/status/1781110200923275769)\n "
}
],
"verifierHashes": [
{
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"name": "RiscZero Soon verifier",
"proofSystem": {
"id": "Snarkjs",
"type": "Groth16",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Groth16 proving system written in JS."
},
"knownDeployments": [
{
"address": "0x455218fa82e96A6adCcf182EE8A90A93BE7a6Bc6",
"chain": "ethereum"
"address": "eth:0x455218fa82e96A6adCcf182EE8A90A93BE7a6Bc6"
}
],
"verificationStatus": "unsuccessful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"description": "Verifier smart contract sources are not available on Etherscan, hash value is set to 0x0 to indicate that it is not known."
},
{
"hash": "0x1dcf73cbd51c9eba43c437c5a5ebc5328ca2d7a590c701a9a9bc1136eceeeea7",
"name": "RiscZero v2.2.0",
"proofSystem": {
"id": "Snarkjs",
"type": "Groth16",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Groth16 proving system written in JS."
},
"knownDeployments": [
{
"address": "0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"chain": "ethereum"
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the following values abi packed together: the bytes32 value of internal pure function verifier_key_digest() of the RiscZeroGroth16Verifier.sol, bytes16 value of CONTROL_ROOT_0, bytes16 value of CONTROL_ROOT_1."
},
{
"hash": "0xc6fcb1951eb5b45a669431346a01577df99f30d72baa9d5c7eea40ec6cccfab9",
"name": "RiscZero v3.0.0",
"proofSystem": {
"id": "Snarkjs",
"type": "Groth16",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Groth16 proving system written in JS."
},
"knownDeployments": [
{
"address": "0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"chain": "ethereum"
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D"
},
{
"address": "0x7CCA385bdC790c25924333F5ADb7F4967F5d1599",
"chain": "ethereum"
"address": "eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599"
},
{
"address": "0x411e56a890c5fe0712f6F345977815Ba8E7785C3",
"chain": "ethereum"
"address": "eth:0x411e56a890c5fe0712f6F345977815Ba8E7785C3"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the following values abi packed together: the bytes32 value of internal pure function verifier_key_digest() of the RiscZeroGroth16Verifier.sol, bytes16 value of CONTROL_ROOT_0, bytes16 value of CONTROL_ROOT_1."
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x29E7177837652ca00f05fbD2e8aA867d207B2EF8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x19652082F846171168Daf378C4fD3ee85a0D4A60"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0xc0c70c2cfa4bc0177bce7f5b5ad6a7bd73aa2f5c877a7a0de08f8a0782ba9119",
"implementations": [
"eth:0x19652082F846171168Daf378C4fD3ee85a0D4A60"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RiverMultisig\n * **challenger**: EOA 2\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29E7177837652ca00f05fbD2e8aA867d207B2EF8#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x9fDEEa19836A413C04e9672d3d09f482278e863c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0x8b36a2b810edaa42c0718c411fa160206ac8ac278be1c814d6fbb527555b43b6",
"implementations": [
"eth:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RiverMultisig\n * **guardian**: RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9fDEEa19836A413C04e9672d3d09f482278e863c#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xf565303B5326C8653E78e5f73a2984f6F778C9E8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0xffbA8944650e26653823658d76A122946F27e2f2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0x0f89f16da924f881357c84d817f7e67d7d4176f117f8ce70c88fcd893c8704e0",
"implementations": [
"eth:0xffbA8944650e26653823658d76A122946F27e2f2"
]
}
],
"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 RiverMultisig\n * **batcherHash**: EOA 3\n * **owner**: RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf565303B5326C8653E78e5f73a2984f6F778C9E8#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xb6aFBB2A7299e968c9f98f8b518bD89e670a420A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x068E44eB31e111028c41598E4535be7468674D0A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139103,
"transactionHash": "0x41f431c744f28d8932380d056098f2c4ccb3d502566beb7a9a33b0cc2831c45a",
"implementations": [
"eth:0x068E44eB31e111028c41598E4535be7468674D0A"
]
}
],
"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 RiverMultisig\n * **guardian**: RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb6aFBB2A7299e968c9f98f8b518bD89e670a420A#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x22B0cd077c937b9912772B38519b6d2d91541c1A",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x71fA82Ea96672797954C28032b337aA40AAFC99f"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0x2e7c8995dc499f1f77e140945685fa90051edb9444f45adc3ee054faa3388048",
"implementations": [
"eth:0x71fA82Ea96672797954C28032b337aA40AAFC99f"
]
}
],
"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 RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x22B0cd077c937b9912772B38519b6d2d91541c1A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x0Da314776B267D898dEE57F6Ede357ae28b3b83c"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x42AABA8A896ca6C987068Ac9a9112c2e4dcA4c96",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x44637A4292E0CD2B17A55d5F6B2F05AFcAcD0586"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0xc7fdbd53b3a5ebf25e929f9e2325504af1fda800d808ebbeea66f4543dd18c74",
"implementations": [
"eth:0x44637A4292E0CD2B17A55d5F6B2F05AFcAcD0586"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x42AABA8A896ca6C987068Ac9a9112c2e4dcA4c96#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RiverMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x566c7DB023111D897F16b602B2B57f0F12f7bF44#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xB5984cCf496a8FC2d921A5a425Bd5F7a740BE89C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x39Aea2Dd53f2d01c15877aCc2791af6BDD7aD567"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0x93d2240f5c3787f83f0b4bc5056888002dbba89568ccc743368dae64e0248fae",
"implementations": [
"eth:0x39Aea2Dd53f2d01c15877aCc2791af6BDD7aD567"
]
}
],
"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 RiverMultisig",
"upgradableBy": [
{
"name": "RiverMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB5984cCf496a8FC2d921A5a425Bd5F7a740BE89C#code"
}
]
},
"escrows": [
{
"address": "0x9fDEEa19836A413C04e9672d3d09f482278e863c",
"sinceTimestamp": 1716139103,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9fDEEa19836A413C04e9672d3d09f482278e863c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716139127,
"transactionHash": "0x8b36a2b810edaa42c0718c411fa160206ac8ac278be1c814d6fbb527555b43b6",
"implementations": [
"eth:0xCEa36be2e9724d88cB107C552c602a8025DB88bA"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x9fDEEa19836A413C04e9672d3d09f482278e863c#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03",
"sinceTimestamp": 1716139103,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x566c7DB023111D897F16b602B2B57f0F12f7bF44"
],
"implementations": [
"eth:0x0Da314776B267D898dEE57F6Ede357ae28b3b83c"
]
},
"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/0x2d51D580Cae0a644a5328E665c768C2A4c0E4a03#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x80e73D6BfC73c567032304C3891a06c2d9954d09",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0x164883d49DaEe18b3D621A24560D9bcD19Ad5407"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859947,
"transactionHash": "0xd8bea06bed1d49c24253b1cf0b680af657da740b5e5be30b48c35b3753f1b15f",
"implementations": [
"eth:0x164883d49DaEe18b3D621A24560D9bcD19Ad5407"
]
}
],
"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 RSS3Multisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 4",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x80e73D6BfC73c567032304C3891a06c2d9954d09#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0xE6f24d2C32B3109B18ed33cF08eFb490b1e09C10",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859959,
"transactionHash": "0x6c9969133e045a979b80cc57267cc027df208d64ee71ab146a31855f74cdd96a",
"implementations": [
"eth:0x5Fe6BFbb2C2c78c0baF0bFbb86420903E2E9f8a5"
]
},
{
"timestamp": 1760000387,
"transactionHash": "0xef115941c77982c1142c03cdc3e41e8060a6c169d64deadd1d4eee73248cd353",
"implementations": [
"eth:0xc451292a72a4bA2B34c4295c7Df58cE7d45F5d30"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RSS3Multisig\n * **challenger**: EOA 2\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE6f24d2C32B3109B18ed33cF08eFb490b1e09C10#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x3e5FaB39eD4eFB4fc29A5201059AE819f2f0418A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0x314774a6Cfc3838E5a5a1DE3723EEa995aAD4e8f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859935,
"transactionHash": "0x2b732497bbc3e54e9219dc92d12733c4b3458a5e14e627ee66cd7a399cb10efc",
"implementations": [
"eth:0x314774a6Cfc3838E5a5a1DE3723EEa995aAD4e8f"
]
}
],
"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 RSS3Multisig\n * **guardian**: EOA 5",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3e5FaB39eD4eFB4fc29A5201059AE819f2f0418A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x4cbab69108Aa72151EDa5A3c164eA86845f18438",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0xE27083804bFf17Ec05f4300a43b7c40F3E01e486"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RSS3Multisig",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4cbab69108Aa72151EDa5A3c164eA86845f18438#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x892CAa506c86C5101f5eC11C6f09589c9dC8A85C",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0x4795EaC1a2581F2Db6419203D063711C5a90aD50"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859959,
"transactionHash": "0x5b27c6bfac512f2eaa0dfd5a8b96d5a95243705975b6017939c838071cae4e26",
"implementations": [
"eth:0x4795EaC1a2581F2Db6419203D063711C5a90aD50"
]
}
],
"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 RSS3Multisig",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x892CAa506c86C5101f5eC11C6f09589c9dC8A85C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x938D0Bb4B584d4F6f793fCB7808cA2Eea15B69A8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0xf3EF9B6eE32366A625d84910c53eB20024043A70"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859947,
"transactionHash": "0x19166ad5b28fd3ead0aa0e6d50ece2863f9956e382900f3ac3e9237b9c7dc4d2",
"implementations": [
"eth:0xf3EF9B6eE32366A625d84910c53eB20024043A70"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RSS3Multisig",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x938D0Bb4B584d4F6f793fCB7808cA2Eea15B69A8#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1075B29e5F7a911128C77F3989702E150C988904",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: RSS3Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1075B29e5F7a911128C77F3989702E150C988904#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x1D89222C28C3ba471be822203998f27Df4727C0b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0xa5a46DAaDAF1b2ae96F6FE85Ae81470126967A0E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859947,
"transactionHash": "0x3fba5f65d3277137204676386e5de332c424ca77b663db18217208a5bf51c9b8",
"implementations": [
"eth:0xa5a46DAaDAF1b2ae96F6FE85Ae81470126967A0E"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately RSS3Multisig",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1D89222C28C3ba471be822203998f27Df4727C0b#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x6A12432491bbbE8d3babf75F759766774C778Db4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0x491825c073DaE5b31b0AAE4c01f2EBEa254c838b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859959,
"transactionHash": "0xf0bc6764b37887769bf86c0f3a552202882bfc8ebc494878e036138bc6484b22",
"implementations": [
"eth:0xc5b17F1DF579D033DB17174B837fe4D2dF05b050"
]
},
{
"timestamp": 1729616075,
"transactionHash": "0x8a4278f30ca52243ebf1afe80f5ec3edcb73f34f9e826f8523c30029bbd7fbd8",
"implementations": [
"eth:0x491825c073DaE5b31b0AAE4c01f2EBEa254c838b"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals. This fork of the OptimismPortal also allows an 'operator' address to overwrite the calldata of withdrawals on finalization, potentially stealing the withdrawn funds or calling arbitrary contracts.\n* Roles:\n * **admin**: ProxyAdmin; ultimately RSS3Multisig\n * **guardian**: EOA 5\n * **operator**: WithdrawalOverwriterMultisig",
"upgradableBy": [
{
"name": "RSS3Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6A12432491bbbE8d3babf75F759766774C778Db4#code"
}
]
},
"escrows": [
{
"address": "0x6A12432491bbbE8d3babf75F759766774C778Db4",
"sinceTimestamp": 1709859947,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x6A12432491bbbE8d3babf75F759766774C778Db4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0x491825c073DaE5b31b0AAE4c01f2EBEa254c838b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709859959,
"transactionHash": "0xf0bc6764b37887769bf86c0f3a552202882bfc8ebc494878e036138bc6484b22",
"implementations": [
"eth:0xc5b17F1DF579D033DB17174B837fe4D2dF05b050"
]
},
{
"timestamp": 1729616075,
"transactionHash": "0x8a4278f30ca52243ebf1afe80f5ec3edcb73f34f9e826f8523c30029bbd7fbd8",
"implementations": [
"eth:0x491825c073DaE5b31b0AAE4c01f2EBEa254c838b"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x6A12432491bbbE8d3babf75F759766774C778Db4#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x4cbab69108Aa72151EDa5A3c164eA86845f18438",
"sinceTimestamp": 1709859947,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x4cbab69108Aa72151EDa5A3c164eA86845f18438",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1075B29e5F7a911128C77F3989702E150C988904"
],
"implementations": [
"eth:0xE27083804bFf17Ec05f4300a43b7c40F3E01e486"
]
},
"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/0x4cbab69108Aa72151EDa5A3c164eA86845f18438#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "MultipleVersionRollupVerifier",
"isVerified": true,
"address": "eth:0x4CEA3E866e7c57fD75CB0CA3E9F5f1151D4Ead3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract used to update the verifier and keep track of current and old versions.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4CEA3E866e7c57fD75CB0CA3E9F5f1151D4Ead3F#code"
},
{
"name": "L1MessageQueueV2",
"isVerified": true,
"address": "eth:0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x39C36c9026ac18104839A50c61a4507ea5052ECa"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1742476139,
"transactionHash": "0xa44917bb285df86b23937d2180e5e2d21d47407803736797bc8cdbaf59d8f256",
"implementations": [
"eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca"
]
},
{
"timestamp": 1745301695,
"transactionHash": "0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21",
"implementations": [
"eth:0xEfA158006b072793a49E622B26761cD0eC38591d"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x39C36c9026ac18104839A50c61a4507ea5052ECa"
]
}
],
"description": "Contains the array of queued L1 -> L2 messages, either appended using the L1ScrollMessenger or the EnforcedTxGateway.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code"
},
{
"name": "L1ScrollMessenger",
"isVerified": true,
"address": "eth:0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0xcad9f31340db6aca3a5da0d704ee33a9b6c43a5b1be4406cc0ed33edbdd7c92e",
"implementations": [
"eth:0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6"
]
},
{
"timestamp": 1745301695,
"transactionHash": "0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21",
"implementations": [
"eth:0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868"
]
},
{
"timestamp": 1745564819,
"transactionHash": "0x783703d4e94de48edb75261149a540cbf7abb7ef077865c11080e622a508ab86",
"implementations": [
"eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69"
]
}
],
"description": "Contract used to send L1 -> L2 and relay messages from L2. It allows to replay failed messages and to drop skipped messages. L1 -> L2 messages sent using this contract pay for L2 gas on L1 and will have the aliased address of this contract as the sender.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code"
},
{
"name": "EnforcedTxGateway",
"isVerified": true,
"address": "eth:0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0xd2e3c3d2839a35492419c5a1ae863e7a23d963cb4853c59e8e20832e0ee4ed3e",
"implementations": [
"eth:0x642af405bF64660665B37977449C9C536B806318"
]
},
{
"timestamp": 1745301695,
"transactionHash": "0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21",
"implementations": [
"eth:0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc"
]
}
],
"description": "Contracts to force L1 -> L2 messages with the proper sender.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d#code"
},
{
"name": "ScrollOwner",
"isVerified": true,
"address": "eth:0x798576400F7D662961BA15C6b3F3d813447a26a6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Owner of all contracts in the system. It implements an extension of AccessControl that manages roles and functions allowed to be called by each role.\n* Roles:\n * **opsFast**: TimelockFast; ultimately Scroll Multisig 3\n * **opsNoDelay**: TimelockEmergency; ultimately Scroll Multisig 2\n * **scMinorityNoDelay**: Scroll Security Council Minority\n * **scNoDelay**: TimelockSCEmergency; ultimately Scroll Security Council",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x798576400F7D662961BA15C6b3F3d813447a26a6#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x8432728A257646449245558B8b7Dbe51A16c7a4D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1742476115,
"transactionHash": "0x693533d50e553bb88df2025b2f294549a13cc6ed266de233429ac8742314c77a",
"implementations": [
"eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca"
]
},
{
"timestamp": 1745301695,
"transactionHash": "0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21",
"implementations": [
"eth:0x6A124779fDf107c3F6BcB992731dCAaD09f2276A"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE"
]
}
],
"description": "System configuration contract for Scroll, contains enforcedBatchParameters and messageQueueParameters determining permissionless mode.\n* Roles:\n * **admin**: ProxyAdmin\n * **owner**: ScrollOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code"
},
{
"name": "ScrollChain",
"isVerified": true,
"address": "eth:0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x0a20703878E68E587c59204cc0EA86098B8c3bA7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0xecc94033ca66ea9068acde109b0c9e3c539191645916a35952bb6d9fd2be3a02",
"implementations": [
"eth:0x2E07f0FBA71709bb5e1f045b02152E45B451D75f"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0xFA148514d03420b7b1a13eC74da06D2Ca875539C"
]
},
{
"timestamp": 1714341995,
"transactionHash": "0x6eb161ed649cf22771e586a8546eec157717e2dec4c871e7ad4e4d2c5c59a905",
"implementations": [
"eth:0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8"
]
},
{
"timestamp": 1719915047,
"transactionHash": "0x87f533704b3cdac75c20bbdcd202a97ee62075c188ccea27ab7ff494cdeea247",
"implementations": [
"eth:0x4F250B05262240C787a1eE222687C6eC395C628A"
]
},
{
"timestamp": 1724196995,
"transactionHash": "0x3928e0223337a112ea68c84db95441185a3e1da809638be13c0135761aa19ee7",
"implementations": [
"eth:0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f"
]
},
{
"timestamp": 1744728443,
"transactionHash": "0xa1faad1ccd2c390641b46d50d93c26b7369137f021e528acfec78385494b2fb0",
"implementations": [
"eth:0x8f339292d2b3909574B2bEB051a613a987dB538f"
]
},
{
"timestamp": 1745301695,
"transactionHash": "0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21",
"implementations": [
"eth:0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x0a20703878E68E587c59204cc0EA86098B8c3bA7"
]
}
],
"description": "The main contract of the Scroll chain. Allows to post transaction data and state roots, along with proofs. Sequencing and proposing are behind a whitelist unless enforcedBatchMode is activated.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code"
},
{
"name": "TimelockSCEmergency",
"isVerified": true,
"address": "eth:0x0CD4c0F24a0A9f3E2Fe80ed385D8AD5a2FfECA44",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Security Council\n * **executor**: Scroll Multisig 1, Scroll Security Council; ultimately EOA 1, EOA 2, EOA 3, EOA 4\n * **proposer**: Scroll Security Council\n * **timelockAdmin**: Scroll Security Council, TimelockSCEmergency; ultimately Scroll Security Council",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0CD4c0F24a0A9f3E2Fe80ed385D8AD5a2FfECA44#code"
},
{
"name": "TimelockFast",
"isVerified": true,
"address": "eth:0x0e58939204eEDa84F796FBc86840A50af10eC4F4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Multisig 3\n * **executor**: Scroll Multisig 1; ultimately EOA 1, EOA 2, EOA 3, EOA 4\n * **proposer**: Scroll Multisig 3\n * **timelockAdmin**: Scroll Multisig 3, TimelockFast; ultimately Scroll Multisig 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0e58939204eEDa84F796FBc86840A50af10eC4F4#code"
},
{
"name": "TimelockSCSlow",
"isVerified": true,
"address": "eth:0x3f9041350B661c74C6CbE440c8Bd6BC4C168a9fd",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Security Council\n * **executor**: Scroll Multisig 1, Scroll Security Council; ultimately EOA 1, EOA 2, EOA 3, EOA 4\n * **proposer**: Scroll Security Council\n * **timelockAdmin**: Scroll Security Council, TimelockSCSlow; ultimately Scroll Security Council",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3f9041350B661c74C6CbE440c8Bd6BC4C168a9fd#code"
},
{
"name": "TimelockEmergency",
"isVerified": true,
"address": "eth:0x826714adD4dDA2b8750794A467C892c0Cd49216b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Multisig 2\n * **executor**: Scroll Multisig 1; ultimately EOA 1, EOA 2, EOA 3, EOA 4\n * **proposer**: Scroll Multisig 2\n * **timelockAdmin**: Scroll Multisig 2, TimelockEmergency; ultimately Scroll Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x826714adD4dDA2b8750794A467C892c0Cd49216b#code"
},
{
"name": "L1ERC721Gateway",
"isVerified": true,
"address": "eth:0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x79F1bF1906B63b56E08c3ada4c51De11F145a27A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x5cb06c63fb2583db9eba85a73ca794a9d36eace7f91925962b8cc97fd06b9b7d",
"implementations": [
"eth:0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0xd1841c5756428812233eEA78afC17cb2D3e392bb"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x79F1bF1906B63b56E08c3ada4c51De11F145a27A"
]
}
],
"description": "Contract used to bridge ERC721 tokens from L1 to L2.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code"
},
{
"name": "L1ETHGateway",
"isVerified": true,
"address": "eth:0x7F2b8C31F88B6006c382775eea88297Ec1e3E905",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0xbd63d1902c6343a9cdb81aa8944621690e4dd62a82640fded7f7c3d969e3647a",
"implementations": [
"eth:0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x546E0bF31FB6e7babD493452e4e6999191367B42"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0"
]
}
],
"description": "Contract used to bridge ETH from L1 to L2.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code"
},
{
"name": "pufETHEscrow",
"isVerified": true,
"address": "eth:0xA033Ff09f2da45f0e9ae495f525363722Df42b2a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9eBf2f33526CD571f8b2ad312492cb650870CFd6"
],
"implementations": [
"eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713173507,
"transactionHash": "0xa2ff9275d6280e3cc298653463c5d8423c44cfbc66a52a9a138becbb106dc0f8",
"implementations": [
"eth:0xc4d46E8402F476F269c379677C99F18E22Ea030e"
]
},
{
"timestamp": 1713173507,
"transactionHash": "0xe03abd155a10591ed1fa4a1e2ad0d6042549bfd67769dbf6bd66d25743950905",
"implementations": [
"eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03"
]
},
{
"timestamp": 1713173507,
"transactionHash": "0xb367f770c26a72ea837a51c2c1fc84a3396914db1d58c020177b207e0f876a79",
"implementations": [
"eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03"
]
}
],
"description": "Contract used to bridge ERC20 tokens from L1 to L2. It allows to change the token mappings.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code"
},
{
"name": "L1CustomERC20Gateway",
"isVerified": true,
"address": "eth:0xb2b10a289A229415a124EFDeF310C10cb004B6ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x12f874f5ca5a8dbdc5162db5179a4e4b753f4fcff8dab3f416bd1ce707ecb9ff",
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97"
]
}
],
"description": "Contract used to bridge ERC20 tokens from L1 to L2. It allows to change the token mappings.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code"
},
{
"name": "L1ERC1155Gateway",
"isVerified": true,
"address": "eth:0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xcA46358D5F01E4F865885514DAe6275087Ffe38E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0xe6cabeddb49c286b33e0e6d4a43af76e1a2108ac9fc91afb508a5ea86a8fc646",
"implementations": [
"eth:0xCb4638620E4C6DeCef26374e71b0dd4871863593"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x244BF7aEf29F03916569470a51fA0794B62F8cd7"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0xcA46358D5F01E4F865885514DAe6275087Ffe38E"
]
}
],
"description": "Contract used to bridge ERC1155 tokens from L1 to L2.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code"
},
{
"name": "L1StandardERC20Gateway",
"isVerified": true,
"address": "eth:0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x85d366c40632340d9e835fdd0a1646909a56d60c680373f15f9d36878ff13029",
"implementations": [
"eth:0x9218732389D80f9b8723C3f32a38865B7a63564A"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9"
]
}
],
"description": "Contract used to bridge ERC20 tokens from L1 to L2. It uses a fixed token list.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code"
},
{
"name": "L1GatewayRouter",
"isVerified": true,
"address": "eth:0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xb93Ac04010Bd61F45BF492022A5b49a902F798F3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x8f6851c707737c446ee55f39be1442ce8cfa50ef8522b34bac247c0bb39a14ec",
"implementations": [
"eth:0xb93Ac04010Bd61F45BF492022A5b49a902F798F3"
]
}
],
"description": "Main entry point for depositing ETH and ERC20 tokens, which are then forwarded to the correct gateway.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6#code"
},
{
"name": "wstETHescrowLido",
"isVerified": true,
"address": "eth:0x6625C6332c9F91F2D27c304E729B86db87A3f504",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC2C53556Bc75217cf698721b29071d6f12628A9"
],
"implementations": [
"eth:0xF4f2066EE72D62e3caF9678459149BA7FCf2262F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696920503,
"transactionHash": "0xec5c25ea4b3e6d1dc9fa4cb7b7dd37a7a245a171cd3d16fb312628b5ecc9e841",
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
},
{
"timestamp": 1709624939,
"transactionHash": "0xd755174ba6bacec85b68b77c9ec2a8b966955746be59a6efa932f47c37dda482",
"implementations": [
"eth:0xF4f2066EE72D62e3caF9678459149BA7FCf2262F"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code"
},
{
"name": "DaiEscrow",
"isVerified": true,
"address": "eth:0x67260A8B73C5B77B55c1805218A42A7A6F98F515",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696920095,
"transactionHash": "0x9776779beb429ea826a81a8c1c5f782933bfc8ce568afa1c6f2c2b866be2a3a5",
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x67260A8B73C5B77B55c1805218A42A7A6F98F515#code"
},
{
"name": "L1WETHGateway",
"isVerified": true,
"address": "eth:0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x0f1df3c211e6b201b0bb0cc41c87c2fbb36683f2a24080d935ffdc587723c033",
"implementations": [
"eth:0xd3c42158682D55E082EaBe08a29F7515A97cA307"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24"
]
}
],
"description": "Contract used to bridge WETH from L1 to L2.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code"
},
{
"name": "L1USDCGateway",
"isVerified": true,
"address": "eth:0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696919351,
"transactionHash": "0x394b36151c614a7dfd048ddc1085046d2a50e5fd54af4c335d4a08aa79dd773d",
"implementations": [
"eth:0x6667123b5017AAB9945F73345848B82D7A953AA8"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e"
]
}
],
"description": "Contract used to bridge USDC tokens from L1 to L2.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code"
},
{
"name": "PlonkVerifierV1-1",
"isVerified": true,
"address": "eth:0x03a72B00D036C479105fF98A1953b15d9c510110",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.11.4/evm_verifier.yul"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x03a72B00D036C479105fF98A1953b15d9c510110#code"
},
{
"name": "ZkEvmVerifierPostFeynman",
"isVerified": true,
"address": "eth:0x0dE180164Dc571522457101F5c47B2eaB36d0A82",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0dE180164Dc571522457101F5c47B2eaB36d0A82#code"
},
{
"name": "Euro Coin Token",
"isVerified": true,
"address": "eth:0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"eth:0x9Ed85723C5c55b746Eb2C4B7e2A359B2091B8fE7"
],
"implementations": [
"eth:0x43506849D7C04F9138D1A2050bbF3A0c054402dd"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1654870298,
"transactionHash": "0x24fab5b4bf89d30ddecda96ab8cfb830bd5d62f6379e372da4a20b83aaedaa8a",
"implementations": [
"eth:0x5E620D573cDaF414d70Fc85B116dD8F1E7e79Ce2"
]
},
{
"timestamp": 1654870298,
"transactionHash": "0x24fab5b4bf89d30ddecda96ab8cfb830bd5d62f6379e372da4a20b83aaedaa8a",
"implementations": [
"eth:0xa2327a938Febf5FEC13baCFb16Ae10EcBc4cbDCF"
]
},
{
"timestamp": 1705000247,
"transactionHash": "0xb621c3e6112d845cdc7603afbdbd1970caab936783c155a232edbd5a2d6a1a39",
"implementations": [
"eth:0x43506849D7C04F9138D1A2050bbF3A0c054402dd"
]
}
],
"description": "* Roles:\n * **admin**: EOA 12\n * **blacklister**: EOA 11\n * **masterMinter**: MasterMinter\n * **owner**: EOA 10\n * **pauser**: EOA 9",
"upgradableBy": [
{
"id": "EOA-12",
"name": "EOA 12",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c#code"
},
{
"name": "PlonkVerifierV1",
"isVerified": true,
"address": "eth:0x2293cd12e8564e8219d314b075867c2f66ac6941",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.10.3/evm_verifier.yul"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2293cd12e8564e8219d314b075867c2f66ac6941#code"
},
{
"name": "PlonkVerifierPostEuclid-2",
"isVerified": true,
"address": "eth:0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.5.2/bundle/verifier.bin"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4#code"
},
{
"name": "ZkEvmVerifierPostFeynman",
"isVerified": true,
"address": "eth:0x4AF7f3aBd780Fbd319c4356a219100A45F85DDb5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4AF7f3aBd780Fbd319c4356a219100A45F85DDb5#code"
},
{
"name": "PlonkVerifierV0",
"isVerified": true,
"address": "eth:0x4B8Aa8A96078689384DAb49691E9bA51F9d2F9E1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.9.5/evm_verifier.yul"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4B8Aa8A96078689384DAb49691E9bA51F9d2F9E1#code"
},
{
"name": "PlonkVerifierGalileo",
"isVerified": true,
"address": "eth:0x749fC77A1a131632a8b88e8703E489557660C75e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/v0.7.1/verifier/verifier.bin"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x749fC77A1a131632a8b88e8703E489557660C75e#code"
},
{
"name": "PlonkVerifierV2",
"isVerified": true,
"address": "eth:0x8759E83b6570A0bA46c3CE7eB359F354F816c9a9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://github.com/scroll-tech/scroll-prover/blob/main/release-v0.12.0/evm_verifier.yul"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8759E83b6570A0bA46c3CE7eB359F354F816c9a9#code"
},
{
"name": "PlonkVerifierV2-1",
"isVerified": true,
"address": "eth:0x8c1b52757b5c571ADcB5572E992679d4D48e30f7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://github.com/scroll-tech/scroll-prover/blob/main/release-v0.13.0/evm_verifier.yul"
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8c1b52757b5c571ADcB5572E992679d4D48e30f7#code"
},
{
"name": "ZkEvmVerifierPostFeynman",
"isVerified": true,
"address": "eth:0xa8d4702Aa5c09AF5dD1323E1842a43789021F485",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa8d4702Aa5c09AF5dD1323E1842a43789021F485#code"
},
{
"name": "PauseController",
"isVerified": true,
"address": "eth:0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x57e26d997852e7e94915e250446C3bf43F41d98D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753067003,
"transactionHash": "0x3decf466a6c0dfc015f7496b5737f597ae7f90073bce2e83a5660b5de64ffe4b",
"implementations": [
"eth:0x57e26d997852e7e94915e250446C3bf43F41d98D"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b#code"
},
{
"name": "L1USDCGateway",
"isVerified": true,
"address": "eth:0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x4a5810F71B6836027c26C25bFF9708dFcD2B5432"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770271583,
"transactionHash": "0x12105e604379a7b159368733c02a2186001c80c95599fb07c6e2cd36169baf70",
"implementations": [
"eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca"
]
},
{
"timestamp": 1770271919,
"transactionHash": "0x70c181a1601d8143c2cc34fe05dde3cf82acf27bf22173b08d58d93c7cd1190b",
"implementations": [
"eth:0x4a5810F71B6836027c26C25bFF9708dFcD2B5432"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2#code"
},
{
"name": "ZkEvmVerifierPostEuclid-2",
"isVerified": true,
"address": "eth:0xc084a6De8b0F2742396572d6f110eC87ca9329bA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc084a6De8b0F2742396572d6f110eC87ca9329bA#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ScrollOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code"
}
],
"scroll": [
{
"name": "ScrollOwner",
"isVerified": true,
"address": "scr:0x13D24a7Ff6F5ec5ff0e9C40Fc3B8C9c01c65437B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "Owner of all contracts in the system. It implements an extension of AccessControl that manages roles and functions allowed to be called by each role.\n* Roles:\n * **scNoDelay**: TimelockSCEmergencyScroll; ultimately Scroll Security Council",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x13D24a7Ff6F5ec5ff0e9C40Fc3B8C9c01c65437B#code"
},
{
"name": "L2GatewayRouter",
"isVerified": true,
"address": "scr:0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x3ffe801a43D25d0288683237A848e14f73a226f0"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917917,
"transactionHash": "0xaac223f86591581be57fc2296c6895a55d4f5488340e63577fa0b909e950747d",
"implementations": [
"scr:0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x3ffe801a43D25d0288683237A848e14f73a226f0"
]
}
],
"description": "Contract used to withdraw ERC20 tokens on L2 and finalize deposit the tokens from L1.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A#code"
},
{
"name": "TimelockSCEmergencyScroll",
"isVerified": true,
"address": "scr:0x1f807E2E8ab2e61230a0A9C271F90242831278b4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Security Council\n * **executor**: Scroll Multisig 1, Scroll Security Council; ultimately EOA 5, EOA 6, EOA 7, EOA 8\n * **proposer**: Scroll Security Council\n * **timelockAdmin**: Scroll Security Council, TimelockSCEmergencyScroll; ultimately Scroll Security Council",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x1f807E2E8ab2e61230a0A9C271F90242831278b4#code"
},
{
"name": "TimelockFast",
"isVerified": true,
"address": "scr:0x2b14d0E4b042d11C7e3Fc653132a2c82EFa7d376",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "A timelock with access control. The current minimum delay is 1d. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Multisig 3\n * **executor**: Scroll Multisig 1; ultimately EOA 5, EOA 6, EOA 7, EOA 8\n * **proposer**: Scroll Multisig 3\n * **timelockAdmin**: Scroll Multisig 3, TimelockFast; ultimately Scroll Multisig 3",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x2b14d0E4b042d11C7e3Fc653132a2c82EFa7d376#code"
},
{
"name": "AgoraGovernor",
"isVerified": true,
"address": "scr:0x2f3F2054776bd3C2fc30d750734A8F539Bb214f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81"
],
"implementations": [
"scr:0xd74aD535faE370Ec0762ECe045EeB8970Be378F7"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1725377334,
"transactionHash": "0xb450d90f0a2025a932ff6a536cd7a0b30ce3c20e150b1f15d5f0216dd7824998",
"implementations": [
"scr:0x4dCEC34886014C1a2E1Ca742B5Bd7B9952B7f4A2"
]
},
{
"timestamp": 1729119781,
"transactionHash": "0x8a9a791104181ad063e9b300950ae9bff21d152e544c0313650398ab672db5ba",
"implementations": [
"scr:0xd74aD535faE370Ec0762ECe045EeB8970Be378F7"
]
}
],
"description": "Used to propose and manage onchain governance proposals.\n* Roles:\n * **admin**: ProxyAdmin\n * **manager**: GnosisSafeL2\n * **timelock**: TimelockSCSlow; ultimately Scroll Security Council",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x2f3F2054776bd3C2fc30d750734A8F539Bb214f0#code"
},
{
"name": "TimelockEmergency",
"isVerified": true,
"address": "scr:0xA77D19C1F2B06C9aeA9bE88C17B771a33892734f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **canceller**: Scroll Multisig 2\n * **executor**: Scroll Multisig 1; ultimately EOA 5, EOA 6, EOA 7, EOA 8\n * **proposer**: Scroll Multisig 2\n * **timelockAdmin**: Scroll Multisig 2, TimelockEmergency; ultimately Scroll Multisig 2",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xA77D19C1F2B06C9aeA9bE88C17B771a33892734f#code"
},
{
"name": "Scroll USDC",
"isVerified": true,
"address": "scr:0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4",
"upgradeability": {
"proxyType": "ZeppelinOS proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x72e2451a2da1535DBf0E7CB1e8C69F56E00A7B7b"
],
"immutable": false
},
"chain": "scroll",
"pastUpgrades": [],
"description": "Contract of the USDC token on Scroll.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4#code"
},
{
"name": "L2USDCGateway",
"isVerified": true,
"address": "scr:0x33B60d5Dd260d453cAC3782b0bDC01ce84672142",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x6E0618d128d2d861994DF7a725743F69b53C2804"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696919404,
"transactionHash": "0x53dca8476e9bb314c9ac8008f2e33460eea3cde5798aeaf1327feba43f2af2ee",
"implementations": [
"scr:0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x6E0618d128d2d861994DF7a725743F69b53C2804"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x33B60d5Dd260d453cAC3782b0bDC01ce84672142#code"
},
{
"name": "L2GatewayRouter",
"isVerified": true,
"address": "scr:0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917917,
"transactionHash": "0xa2062a4530b194a438bb9f9e87cdce59f70775a52e8336892364445847c43ca2",
"implementations": [
"scr:0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763"
]
}
],
"description": "Counterpart to the L1GatewayRouter contract.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79#code"
},
{
"name": "L2MessageQueue",
"isVerified": true,
"address": "scr:0x5300000000000000000000000000000000000000",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "Used to append messages to the L2MessageQueue from the L2ScrollMessenger.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x5300000000000000000000000000000000000000#code"
},
{
"name": "L2ERC1155Gateway",
"isVerified": true,
"address": "scr:0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917920,
"transactionHash": "0x81ea4d0324828c7bd1a25754601e471f5707cf09af3f267fabf1aa43f2c45907",
"implementations": [
"scr:0x4a1b3D103801F0E1400046aE1948B9808e9b043b"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94"
]
}
],
"description": "Counterpart to the L1ERC1155Gateway contract.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc#code"
},
{
"name": "L2CustomERC20Gateway",
"isVerified": true,
"address": "scr:0x64CCBE37c9A82D85A1F2E74649b7A42923067988",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x1D40306EEfCF6EBd496d6048F6edf8892346e558"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917920,
"transactionHash": "0xcfb787fe58eeb8a0f1d7ebb1360968111e84cd6f64d929a3277a1fb5e232ccd3",
"implementations": [
"scr:0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x1D40306EEfCF6EBd496d6048F6edf8892346e558"
]
}
],
"description": "Counterpart to the L1CustomERC20Gateway contract.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x64CCBE37c9A82D85A1F2E74649b7A42923067988#code"
},
{
"name": "ScrollStandardERC20Factory",
"isVerified": true,
"address": "scr:0x66e5312EDeEAef6e80759A0F789e7914Fb401484",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "Contract used to deploy ScrollStandardERC20 tokens for L2StandardERC20Gateway.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x66e5312EDeEAef6e80759A0F789e7914Fb401484#code"
},
{
"name": "L2ETHGateway",
"isVerified": true,
"address": "scr:0x6EA73e05AdC79974B931123675ea8F78FfdacDF0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x191770c52309dff2c52FfEcf059ECC3862f5D721"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917917,
"transactionHash": "0xf1505df71efbf7c12e1f48f4d17675e39d9797b1cac73ccbc6b610481313e750",
"implementations": [
"scr:0xE0a0509a66C509f55c85A20EB8c60676135081f7"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x191770c52309dff2c52FfEcf059ECC3862f5D721"
]
}
],
"description": "Contract of the L2ScrollMessenger contract.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x6EA73e05AdC79974B931123675ea8F78FfdacDF0#code"
},
{
"name": "L2WETHGateway",
"isVerified": true,
"address": "scr:0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917917,
"transactionHash": "0x9021d0900bd824774d2fa08d23a47d61a94d83563cfc81ca834b54bd690e0539",
"implementations": [
"scr:0x4966c037D653E31dB2c1F9727dd50dC679d51d65"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9#code"
},
{
"name": "L2ScrollMessenger",
"isVerified": true,
"address": "scr:0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917917,
"transactionHash": "0xced82475ea905f72d0cb7ed5731aa1c801d62249a92fbad6724dd3f223b83e96",
"implementations": [
"scr:0x485149079c421f9e4c465276BbaBB2fE0748d138"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772"
]
}
],
"description": "ETH is pre-minted to this contract in the genesis block and released on Scroll whenever corresponding deposits are made on Ethereum.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC#code"
},
{
"name": "TimelockSCSlow",
"isVerified": true,
"address": "scr:0x79D83D1518e2eAA64cdc0631df01b06e2762CC14",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "* Roles:\n * **timelockAdmin**: Scroll Security Council, TimelockSCSlow",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x79D83D1518e2eAA64cdc0631df01b06e2762CC14#code"
},
{
"name": "L2ERC721Gateway",
"isVerified": true,
"address": "scr:0x7bC08E1c04fb41d75F1410363F0c5746Eae80582",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x0894150DB82B912105F6D0907B5c69E72F1Df279"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696917920,
"transactionHash": "0x56af44f6a76a5788776564b7d36720e0e9f5cd4695653d0f83871259c1480325",
"implementations": [
"scr:0x71d7F43617CEaE99A43B7727151267A9919288F6"
]
},
{
"timestamp": 1708589325,
"transactionHash": "0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9",
"implementations": [
"scr:0x0894150DB82B912105F6D0907B5c69E72F1Df279"
]
}
],
"description": "Counterpart to the L1ERC721Gateway contract.\n* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x7bC08E1c04fb41d75F1410363F0c5746Eae80582#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "scr:0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "* Roles:\n * **owner**: ScrollOwner",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81#code"
},
{
"name": "L2LidoGateway",
"isVerified": true,
"address": "scr:0x8aE8f22226B9d789A36AC81474e633f8bE2856c9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0x8e34D07Eb348716a1f0a48A507A9de8a3A6DcE45"
],
"implementations": [
"scr:0x2B9beB2890DBeFC7cA25Af3164100d139B623C24"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1696920429,
"transactionHash": "0x516429c9961880b285703de647f4f884068a31be7341f8ed54b799d0a1fb3e7b",
"implementations": [
"scr:0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9"
]
},
{
"timestamp": 1709625145,
"transactionHash": "0x64c28a89bdfa47a14998cdaaa4d85113e72c451e817a294930f93bdee4a3d598",
"implementations": [
"scr:0x2B9beB2890DBeFC7cA25Af3164100d139B623C24"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x8aE8f22226B9d789A36AC81474e633f8bE2856c9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "* Roles:\n * **owner**: ScrollOwner",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code"
},
{
"name": "L2PauseController",
"isVerified": true,
"address": "scr:0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA76acF000C890b0DD7AEEf57627d9899F955d026"
],
"implementations": [
"scr:0x105B9baaF75dA556c0206159481243163fAea1c9"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1753067278,
"transactionHash": "0x00b655406a3deb852f16f951030e57119d4b49d018f61718f4784f7fdc325880",
"implementations": [
"scr:0x105B9baaF75dA556c0206159481243163fAea1c9"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd#code"
},
{
"name": "MasterMinter",
"isVerified": true,
"address": "scr:0xb5cE5F2277CFc547F48aA8263838FAEd424ae4BE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": " Contract that uses controllers to manage minters for USDC on Scroll.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xb5cE5F2277CFc547F48aA8263838FAEd424ae4BE#code"
},
{
"name": "ScrollStandardERC20",
"isVerified": true,
"address": "scr:0xC7d86908ccf644Db7C69437D5852CedBC1aD3f69",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "Contract of the ERC20 standard token used by the ERC20 factory.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xC7d86908ccf644Db7C69437D5852CedBC1aD3f69#code"
},
{
"name": "SCRToken",
"isVerified": true,
"address": "scr:0xd29687c813D741E2F938F4aC377128810E217b1b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e"
],
"implementations": [
"scr:0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1725336741,
"transactionHash": "0xeef949ed328baf69a9b8cb4e33f652f4f5047ef736aa53324acf6a00c8b64b31",
"implementations": [
"scr:0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xd29687c813D741E2F938F4aC377128810E217b1b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "scr:0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "* Roles:\n * **owner**: ScrollOwner",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e#code"
}
]
},
"escrows": [
{
"address": "0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9",
"sinceTimestamp": 1696782323,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x85d366c40632340d9e835fdd0a1646909a56d60c680373f15f9d36878ff13029",
"implementations": [
"eth:0x9218732389D80f9b8723C3f32a38865B7a63564A"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9"
]
}
],
"upgradableBy": [
{
"name": "Scroll Security Council",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367",
"sinceTimestamp": 1696782323,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0xcad9f31340db6aca3a5da0d704ee33a9b6c43a5b1be4406cc0ed33edbdd7c92e",
"implementations": [
"eth:0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6"
]
},
{
"timestamp": 1745301695,
"transactionHash": "0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21",
"implementations": [
"eth:0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868"
]
},
{
"timestamp": 1745564819,
"transactionHash": "0x783703d4e94de48edb75261149a540cbf7abb7ef077865c11080e622a508ab86",
"implementations": [
"eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69"
]
}
],
"upgradableBy": [
{
"name": "Scroll Security Council",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xb2b10a289A229415a124EFDeF310C10cb004B6ff",
"sinceTimestamp": 1696782323,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xb2b10a289A229415a124EFDeF310C10cb004B6ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696782323,
"transactionHash": "0x12f874f5ca5a8dbdc5162db5179a4e4b753f4fcff8dab3f416bd1ce707ecb9ff",
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c"
]
},
{
"timestamp": 1755485183,
"transactionHash": "0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c",
"implementations": [
"eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97"
]
}
],
"upgradableBy": [
{
"name": "Scroll Security Council",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B",
"sinceTimestamp": 1696919351,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696919351,
"transactionHash": "0x394b36151c614a7dfd048ddc1085046d2a50e5fd54af4c335d4a08aa79dd773d",
"implementations": [
"eth:0x6667123b5017AAB9945F73345848B82D7A953AA8"
]
},
{
"timestamp": 1708590023,
"transactionHash": "0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826",
"implementations": [
"eth:0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e"
]
}
],
"upgradableBy": [
{
"name": "Scroll Security Council",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x67260A8B73C5B77B55c1805218A42A7A6F98F515",
"sinceTimestamp": 1696920095,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0x67260A8B73C5B77B55c1805218A42A7A6F98F515",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEB803eb3F501998126bf37bB823646Ed3D59d072"
],
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696920095,
"transactionHash": "0x9776779beb429ea826a81a8c1c5f782933bfc8ce568afa1c6f2c2b866be2a3a5",
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
}
],
"upgradableBy": [
{
"name": "Scroll Security Council",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x67260A8B73C5B77B55c1805218A42A7A6F98F515#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6625C6332c9F91F2D27c304E729B86db87A3f504",
"sinceTimestamp": 1696920503,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x6625C6332c9F91F2D27c304E729B86db87A3f504",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCC2C53556Bc75217cf698721b29071d6f12628A9"
],
"implementations": [
"eth:0xF4f2066EE72D62e3caF9678459149BA7FCf2262F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1696920503,
"transactionHash": "0xec5c25ea4b3e6d1dc9fa4cb7b7dd37a7a245a171cd3d16fb312628b5ecc9e841",
"implementations": [
"eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb"
]
},
{
"timestamp": 1709624939,
"transactionHash": "0xd755174ba6bacec85b68b77c9ec2a8b966955746be59a6efa932f47c37dda482",
"implementations": [
"eth:0xF4f2066EE72D62e3caF9678459149BA7FCf2262F"
]
}
],
"description": "Custom token escrow governed by Lido, using the canonical bridge for messaging.",
"url": "https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA033Ff09f2da45f0e9ae495f525363722Df42b2a",
"sinceTimestamp": 1713173507,
"tokens": [
"pufETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xA033Ff09f2da45f0e9ae495f525363722Df42b2a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9eBf2f33526CD571f8b2ad312492cb650870CFd6"
],
"implementations": [
"eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713173507,
"transactionHash": "0xa2ff9275d6280e3cc298653463c5d8423c44cfbc66a52a9a138becbb106dc0f8",
"implementations": [
"eth:0xc4d46E8402F476F269c379677C99F18E22Ea030e"
]
},
{
"timestamp": 1713173507,
"transactionHash": "0xe03abd155a10591ed1fa4a1e2ad0d6042549bfd67769dbf6bd66d25743950905",
"implementations": [
"eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03"
]
},
{
"timestamp": 1713173507,
"transactionHash": "0xb367f770c26a72ea837a51c2c1fc84a3396914db1d58c020177b207e0f876a79",
"implementations": [
"eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03"
]
}
],
"description": "Custom token escrow governed by puffer.fi, using the canonical bridge for messaging.",
"url": "https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Executable of the Scroll bundle program v0.5.2",
"description": "Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective.",
"proverSystemProject": "openvmprover",
"programUrl": "https://github.com/scroll-tech/zkvm-prover/tree/0.5.2/crates/circuits/bundle-circuit",
"verificationStatus": "successful",
"verificationSteps": "\nSteps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174).\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 `docker ps`.\n2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.5.2` Commit hash should be `8f29f60cc73495e8586338a67433a812097427c4`.\n3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `bundle_exe_commit.rs`. \n4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: \n ```\nuse openvm_stark_sdk::p3_baby_bear::BabyBear;\nuse openvm_stark_sdk::p3_bn254_fr::Bn254Fr;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32;\n\nfn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr {\n let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64);\n\n let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing\n let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing\n\n for val in commitment {\n compressed += Bn254Fr::from_canonical_u64(*val as u64) * base;\n base *= order;\n }\n\n compressed\n} \n```\n ",
"hash": "0x003ac2e012d8a7fb1495d94839fe36559b52fd6d60a532884c7558de2b88bf72"
},
{
"title": "Config of the Scroll bundle program v0.5.2",
"description": "This is not a ZK program, but a commitment to the config of Scroll bundle program (bundle leaf commitment). It also needs to be checked to verify the expected ZK verification.",
"proverSystemProject": "openvmprover",
"programUrl": "https://github.com/scroll-tech/zkvm-prover/tree/0.5.2/crates/circuits/bundle-circuit",
"verificationStatus": "successful",
"verificationSteps": "\nSteps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174).\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 `docker ps`.\n2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.5.2` Commit hash should be `8f29f60cc73495e8586338a67433a812097427c4`.\n3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_leaf_commit.rs`. \n4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: \n ```\nuse openvm_stark_sdk::p3_baby_bear::BabyBear;\nuse openvm_stark_sdk::p3_bn254_fr::Bn254Fr;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32;\n\nfn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr {\n let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64);\n\n let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing\n let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing\n\n for val in commitment {\n compressed += Bn254Fr::from_canonical_u64(*val as u64) * base;\n base *= order;\n }\n\n compressed\n} \n```\n ",
"hash": "0x009305f0762291e3cdd805ff6d6e81f1d135dbfdeb3ecf30ad82c3855dde7909"
},
{
"title": "Executable of the Scroll bundle program v0.7.1",
"description": "Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective.",
"proverSystemProject": "openvmprover",
"programUrl": "https://github.com/scroll-tech/zkvm-prover/tree/v0.7.1/crates/circuits/bundle-circuit",
"verificationStatus": "successful",
"verificationSteps": "\nSteps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174).\n\nAlthough the guide below uses docker for reproducable builds, we failed to obtain the correct program hash on a MacOS machine. \nThe steps below work only for a Linux OS (e.g. Ubuntu).\n\n1. On a Linux machine, install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`.\n2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.7.1` Commit hash should be `85dc6bc56728b8eef22281fdb215c136d7b5bbda`.\n3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_leaf_commit.rs`. \n4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: \n ```\nuse openvm_stark_sdk::p3_baby_bear::BabyBear;\nuse openvm_stark_sdk::p3_bn254_fr::Bn254Fr;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32;\n\nfn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr {\n let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64);\n\n let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing\n let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing\n\n for val in commitment {\n compressed += Bn254Fr::from_canonical_u64(*val as u64) * base;\n base *= order;\n }\n\n compressed\n} \n```\n ",
"hash": "0x0062333dc88631be7af046cc8d3c24f346de172aa2030a28b445ab500889d297"
},
{
"title": "Executable of the Scroll bundle program v0.7.2",
"description": "Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective.",
"proverSystemProject": "openvmprover",
"programUrl": "https://github.com/scroll-tech/zkvm-prover/tree/v0.7.2/crates/circuits/bundle-circuit",
"verificationStatus": "successful",
"verificationSteps": "\nSteps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). Although the guide below uses docker for reproducable builds, we failed to obtain the correct program hash on a MacOS machine. \nThe steps below work only for a Linux OS (e.g. Ubuntu).\n\n1. On a Linux machine, install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`.\n2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.7.2` Commit hash should be `3d7f13148dc99a84333c0ddc5cbcb16379ab9fb1`.\n3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_exe_commit.rs`.\n4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: \n ```\nuse openvm_stark_sdk::p3_baby_bear::BabyBear;\nuse openvm_stark_sdk::p3_bn254_fr::Bn254Fr;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra;\nuse openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32;\n\nfn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr {\n let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64);\n\n let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing\n let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing\n\n for val in commitment {\n compressed += Bn254Fr::from_canonical_u64(*val as u64) * base;\n base *= order;\n }\n\n compressed\n} \n```\n ",
"hash": "0x0091609acb607118f47f756c0f4db9aad227420326cbda96f0303384e0bbf8e3"
}
],
"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:0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4",
"eth:0x749fC77A1a131632a8b88e8703E489557660C75e"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
}
],
"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 Alchemy Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x15C1dAED5443A77b4DcF6FE35cAFcCEBb0c6da0E#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xde9FDA9C499bA1C0168AC083acF5BEc5cC67fA76#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFc1D560eB01443e31B0EB56620703E80e42A7E4e#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9BdA922e6f1bD53c24F9bCFb88B9638199A82CEb#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCcfa1f8A93640488E3E1AE90A0edAf44680E9f82#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x44e9388e88Bb8edE446d62590d8A4C6d34813e98",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44e9388e88Bb8edE446d62590d8A4C6d34813e98#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a",
"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/0xaA59A0777648BC75cd10364083e878c1cCd6112a#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xC206D300b07cB905Cb1831d8a9172d4c66394638",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"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 Alchemy Multisig 1\n * **owner**: Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC206D300b07cB905Cb1831d8a9172d4c66394638#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Alchemy Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd35FeF329Bb6569baa373BDa702F3dfF59D57321#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a",
"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/0xE80D2f0D8b994fE2CFD01B4e03f118Dc4F99ca8a#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF75ed0F9cddec16608960f4a0127Cf35be9aCc7d#code"
}
]
},
"escrows": [
{
"address": "0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"sinceTimestamp": 1740171575,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xFc1D560eB01443e31B0EB56620703E80e42A7E4e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740171575,
"transactionHash": "0xa0b3cf1d929c237bfa21d3bf773de9d5c43d458fc658a5cc6dfe9bab465f109d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1774342031,
"transactionHash": "0x6fb404d33b12fb43ec63c0d91120b39a3dbebaa9835ae14477aee3f3a38bb9fc",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xFc1D560eB01443e31B0EB56620703E80e42A7E4e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"sinceTimestamp": 1740171575,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd35FeF329Bb6569baa373BDa702F3dfF59D57321"
],
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
"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/0xFD4918e51d1e5aa2195C42654CF769b152C9d9C0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.1 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.1/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.1` . Commit hash should be `a094d016092e3355642d00be6d7943c4529ef008`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737735059,
"transactionHash": "0x2d76fb3250c5b8850c4c96321903f25cefa34819f66e53807697244bbac969c2",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2c03e8BF8b16Af89079852BE87f0e9eC674a5952#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746619,
"transactionHash": "0xfacd29a5b799051bf62c7fcc470e152275078dce7c3402c3c3241a8f5e0d24f7",
"implementations": [
"eth:0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEB06fFa16011B5628BaB98E29776361c83741dd3#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746451,
"transactionHash": "0x4525ab1d58fb55290f8ddfd694b59b485fd7520d0f9189ea03fede3bb6485cb8",
"implementations": [
"eth:0x8174764Ae82696D232D5C93FEA6A006b1286dC4a"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1742228675,
"transactionHash": "0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1742228675,
"transactionHash": "0xae6ce7a33b18c6ecd39e5c2435a1b9e629b193e97fbf5aaa74e20d7475e50c02",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
}
],
"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 Alchemy Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfF11e41D5C4F522E423Ff6C064Ff8D55AF8f7355#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x2b18602877181C3cB72C687E2A771E123A3788E3",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746535,
"transactionHash": "0x988103f397cdd95cddccfdd43d016de2f473d52929ccd88320bcaa2f133ffa2f",
"implementations": [
"eth:0xAEfEA5D2Dd3B9A05a67FBD5E7C06c19151A7fe50"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b18602877181C3cB72C687E2A771E123A3788E3#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746487,
"transactionHash": "0x8933438e6700ab1b108491850988e3c8992a7d9cf1a8eb67efc62ae390451790",
"implementations": [
"eth:0x5cBe8a4463370e38AcE1406875872eF38342a1c6"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe9d3E49b0636016c5fE9eaA2347948D0bA9f15Af#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x0621932Ea17bE6ad17409c0A9A112E166Afc0653",
"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/0x0621932Ea17bE6ad17409c0A9A112E166Afc0653#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x07BABE08EE4D07dBA236530183B24055535A7011",
"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/0x07BABE08EE4D07dBA236530183B24055535A7011#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Alchemy Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11B190Ae661c6d6884dFEE48E215691E0DdB842e#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": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x319322906beAdf69dF5d4607169c63D692B1aDC1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746499,
"transactionHash": "0x6baa8e3e07b8aaed7008117226e7f2b5f547d0867119ac50ead14356f4d30536",
"implementations": [
"eth:0x70201b22244D19fc52c2D09DC3e06c6cD2819067"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x319322906beAdf69dF5d4607169c63D692B1aDC1#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x36B4f78990619Fdd8F7E9cc7965326336f2bd706",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36B4f78990619Fdd8F7E9cc7965326336f2bd706#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc55f722cF6e14907B844a8B8D3CFd0C04Cf3Ed9B#code"
}
]
},
"escrows": [
{
"address": "0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"sinceTimestamp": 1721746151,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xEB06fFa16011B5628BaB98E29776361c83741dd3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721746619,
"transactionHash": "0xfacd29a5b799051bf62c7fcc470e152275078dce7c3402c3c3241a8f5e0d24f7",
"implementations": [
"eth:0x3Db18Ba41E7F377fa2603D2B500f40CF82683b78"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700903,
"transactionHash": "0x2f29cb5a59d7e7d132eb7afe57d9bf12df3db311db4ef5c5079f9043660635df",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773055343,
"transactionHash": "0x50f843acc6d991947cff0487a92a7537852ba2ab64f1b16648e4405288345448",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1773647627,
"transactionHash": "0xbba5fc3724938e6ca6020735a7228ea48d2f585b5d14ddbb92faa343e49c8154",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1774426031,
"transactionHash": "0xae63a02fd16176b4b8f5d7da48f3c23d05bf5f171f93991f2b9002789668d759",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xEB06fFa16011B5628BaB98E29776361c83741dd3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"sinceTimestamp": 1721746175,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x11B190Ae661c6d6884dFEE48E215691E0DdB842e"
],
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
"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/0x62Edd5f4930Ea92dCa3fB81689bDD9b9d076b57B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.1 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.1/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.1` . Commit hash should be `a094d016092e3355642d00be6d7943c4529ef008`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x139Cf05B34D0EC49D3BFB9704EC4cEbA6ae95dD1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"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/0x139Cf05B34D0EC49D3BFB9704EC4cEbA6ae95dD1#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5c3Efe3cA554816E9960C02AE3B4EB3A9a8D2E16",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
}
],
"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**: EOA 2",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5c3Efe3cA554816E9960C02AE3B4EB3A9a8D2E16#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xCcd285b1ccf1cdaB36Da995B9fC68870E287694E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
}
],
"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 Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCcd285b1ccf1cdaB36Da995B9fC68870E287694E#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x50F08E501f8A9D124eaB4990b057fDEfE3F6ae3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa78F3521D5aDF038826f0FE3e809DF64Ec8a241D"
],
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442783,
"transactionHash": "0x4d5f824e602b9590912df7ee2c45d4c08806abd220755085016d5baf11b82c59",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
}
],
"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",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x50F08E501f8A9D124eaB4990b057fDEfE3F6ae3E#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x3131b01DF2F9eF6F42113090Edead5c97612c473",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
}
],
"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/0x3131b01DF2F9eF6F42113090Edead5c97612c473#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x74A3065E6A4FFAA07dAC542E28452995f3c32EeA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
}
],
"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/0x74A3065E6A4FFAA07dAC542E28452995f3c32EeA#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xe97d73B0079e04f4ea4162b9173604a6213eF158",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
"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/0xe97d73B0079e04f4ea4162b9173604a6213eF158#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x00e3001F111ba89F20a8336Bb986a78d8f734E7E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"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/0x00e3001F111ba89F20a8336Bb986a78d8f734E7E#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x1B99b322085dA031e68C1202fdB756b3FFbaC7A6",
"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* Roles:\n * **challenger**: EOA 4\n * **proposer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1B99b322085dA031e68C1202fdB756b3FFbaC7A6#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x1ffFf41f5E6384D6737D27B1F471E69212150e55",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"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/0x1ffFf41f5E6384D6737D27B1F471E69212150e55#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x2DDf646eaaac38AEA031268a07de4E9ff1D967bd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"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/0x2DDf646eaaac38AEA031268a07de4E9ff1D967bd#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa78F3521D5aDF038826f0FE3e809DF64Ec8a241D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa78F3521D5aDF038826f0FE3e809DF64Ec8a241D#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0xaA59A0777648BC75cd10364083e878c1cCd6112a",
"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/0xaA59A0777648BC75cd10364083e878c1cCd6112a#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966#code"
}
]
},
"escrows": [
{
"address": "0xCcd285b1ccf1cdaB36Da995B9fC68870E287694E",
"sinceTimestamp": 1753442903,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xCcd285b1ccf1cdaB36Da995B9fC68870E287694E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753442903,
"transactionHash": "0xbab4a35e79055acb21366226d29f6f78e95ee813944b8b74fa0b6099136fc72c",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xCcd285b1ccf1cdaB36Da995B9fC68870E287694E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xe97d73B0079e04f4ea4162b9173604a6213eF158",
"sinceTimestamp": 1753442903,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xe97d73B0079e04f4ea4162b9173604a6213eF158",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd8eAb3ed39Df0afB9BFD853f49637F7E73963966"
],
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
"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/0xe97d73B0079e04f4ea4162b9173604a6213eF158#code"
},
"chain": "ethereum",
"includeInTotal": true,
"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": "\nSteps 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.\n ",
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0x24e09Ef4F69B6058E047EE5E709B345F3cA47F3A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3F74698A4ADb075c0501DF739745ACA55Ae543a1"
],
"implementations": [
"eth:0xa2F7e6Dfd6f43976ee1E2e8A122984ECa8e38608"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1724259359,
"transactionHash": "0xee62b099c28e601917f60c0abff8441d48a2e7aee41711ff89a9ae0cc2fc647c",
"implementations": [
"eth:0xa2F7e6Dfd6f43976ee1E2e8A122984ECa8e38608"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 3/2).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24e09Ef4F69B6058E047EE5E709B345F3cA47F3A#code"
},
{
"name": "Validium",
"isVerified": true,
"address": "eth:0x419dcD0f72ebAFd3524b65a97ac96699C7fBebdB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1724183531,
"transactionHash": "0xc47c5c6b0ea1740437487c101b78895a761501a35bfa97a77d79e803151ccf41",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
{
"timestamp": 1745932175,
"transactionHash": "0xdadc987a1a0f2da5a24bcf9c6958c3e4bbe015686cfd2f954ba4f3ee4884dc07",
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
}
],
"description": "The main system contract defining the silicon-zk Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: EOA 1\n * **forceBatchAddress**: EOA 2\n * **trustedSequencer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x419dcD0f72ebAFd3524b65a97ac96699C7fBebdB#code"
},
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9B9671dB83CfcB4508bF361942488C5cA2b1286D#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 4, EOA 5\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x3F74698A4ADb075c0501DF739745ACA55Ae543a1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3F74698A4ADb075c0501DF739745ACA55Ae543a1#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "340282366920938463463374607431768211455"
},
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x0fD13C7f11d95070cE5CF31BAf1aCf9355BF4578",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753170287,
"transactionHash": "0x122ae42c6c94adf99ebfe7b4f88c7ae16372720a4f24589b9cc852a37450e1ee",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0fD13C7f11d95070cE5CF31BAf1aCf9355BF4578#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x936D881b4760D5e9b6D55b774f65c509236b4743",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723562315,
"transactionHash": "0x08e1fd2d5f3e4e927b3b623f650d044a3f4d84301c4cfa06d969330d78b00da5",
"implementations": [
"eth:0x79f446D024d74D0Bb6E699C131c703463c5D65E9"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x936D881b4760D5e9b6D55b774f65c509236b4743#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x9c9B78f798F821C2f6398f603825fd175e2427f9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723562315,
"transactionHash": "0x80857a693b7e46b9eacb712bd3f9ea503fc82c345ebe41d165237d2a7954c52c",
"implementations": [
"eth:0xd5FE2D6Fce4f30336E7738B99D3A2aAE23DE3827"
]
},
{
"timestamp": 1753110947,
"transactionHash": "0xc14fc7e04d919c5d83b4fff381a1a8643f9d93654866daff6e03d9136dd8ea44",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
}
],
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9c9B78f798F821C2f6398f603825fd175e2427f9#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x2A4fC0E3B365052d71B9853Efd0123985559f62E",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723562315,
"transactionHash": "0x5471699c38eb3a16c86adb61e1fdc5d406e6c20fb16d6d16a3336c31171bfac2",
"implementations": [
"eth:0x6FA678A10e4FE9C6B7678948100D9B59CCF6B84a"
]
},
{
"timestamp": 1753110947,
"transactionHash": "0xc14fc7e04d919c5d83b4fff381a1a8643f9d93654866daff6e03d9136dd8ea44",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753110947,
"transactionHash": "0xc14fc7e04d919c5d83b4fff381a1a8643f9d93654866daff6e03d9136dd8ea44",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2A4fC0E3B365052d71B9853Efd0123985559f62E#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x45561F85e43Ac0d2258c0F0C16540ce128EA1634",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723562315,
"transactionHash": "0xac374b94554f1777dff46aa745135cb0ca671cf59bdf8d53cf6030b971661738",
"implementations": [
"eth:0x1b0F7Dd06F9c9EDdE9d5e4E86aC6Ea20aC1bBe42"
]
},
{
"timestamp": 1753110947,
"transactionHash": "0xc14fc7e04d919c5d83b4fff381a1a8643f9d93654866daff6e03d9136dd8ea44",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753110947,
"transactionHash": "0xc14fc7e04d919c5d83b4fff381a1a8643f9d93654866daff6e03d9136dd8ea44",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45561F85e43Ac0d2258c0F0C16540ce128EA1634#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xA5fb68C24b02852e8B514E98A1014faf12547Fa5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA5fb68C24b02852e8B514E98A1014faf12547Fa5#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x1B780edfb393CB9f07Dcd7C699CBDF0fd663572b",
"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* Roles:\n * **challenger**: Conduit Multisig 1\n * **proposer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1B780edfb393CB9f07Dcd7C699CBDF0fd663572b#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x1E94368370862cEf26DDb187CA44EBD74DA87Ad1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E94368370862cEf26DDb187CA44EBD74DA87Ad1#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x672B75103c0CbFdCC4A40737a80724f87a8A25D7#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xa3596ceeC35c004E560f57937bD695dbd22FEFcc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753170311,
"transactionHash": "0x587e182030a9d58bba50b9324379c1535e1466dc6cf8f9969d8e473cd85d94e1",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"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 Conduit Multisig 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa3596ceeC35c004E560f57937bD695dbd22FEFcc#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xeEC78bcEA0EfBbA6e1BE7aFc58C93b70f97d3A6A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723562315,
"transactionHash": "0x8069da58fb0e9749687517dbab9e9cc5c4346195107f242e755abec0db38eb87",
"implementations": [
"eth:0xc8cBf9124a4dF9B0776CAf1BA5604E6AAD15F42F"
]
},
{
"timestamp": 1753110947,
"transactionHash": "0xc14fc7e04d919c5d83b4fff381a1a8643f9d93654866daff6e03d9136dd8ea44",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeEC78bcEA0EfBbA6e1BE7aFc58C93b70f97d3A6A#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"
}
]
},
"escrows": [
{
"address": "0x936D881b4760D5e9b6D55b774f65c509236b4743",
"sinceTimestamp": 1723562291,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x936D881b4760D5e9b6D55b774f65c509236b4743",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723562315,
"transactionHash": "0x08e1fd2d5f3e4e927b3b623f650d044a3f4d84301c4cfa06d969330d78b00da5",
"implementations": [
"eth:0x79f446D024d74D0Bb6E699C131c703463c5D65E9"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753372763,
"transactionHash": "0x11d884e749d033f810dd5b1870d6384533484320467474a470a90fd64ec0b986",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x936D881b4760D5e9b6D55b774f65c509236b4743#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA5fb68C24b02852e8B514E98A1014faf12547Fa5",
"sinceTimestamp": 1723562291,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xA5fb68C24b02852e8B514E98A1014faf12547Fa5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x672B75103c0CbFdCC4A40737a80724f87a8A25D7"
],
"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/0xA5fb68C24b02852e8B514E98A1014faf12547Fa5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x512A3d2c7a43BD9261d2B8E8C9c70D4bd4D503C0#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1740754535,
"transactionHash": "0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1740754535,
"transactionHash": "0x9c6af2cb2b4fcde9e351662342f15b60f004108b575dddd05d0caa4f50220966",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Soneium Multisig",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7A8Ed66B319911A0F3E7288BDdAB30d9c0C875c3#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x88e529A6ccd302c948689Cd5156C83D4614FAE92",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x88e529A6ccd302c948689Cd5156C83D4614FAE92#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x5933e323bE8896DfaCd1cD671442F27dAA10a053",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5933e323bE8896DfaCd1cD671442F27dAA10a053#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745511383,
"transactionHash": "0xbe44244e352a9ffa67ad7f7133e9ed014b380e4b1bd789419e6d33aaad780d12",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CF951E3F74B644e621b36Ca9cea147a78D4c39f#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeb9bf100225c214Efc3E7C651ebbaDcF85177607#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#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": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737366215,
"transactionHash": "0xbd91ce5bc5a8c80796c11ac29b5aa78e37ad5f7b089c9a821d2ea6dbc6c60342",
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
}
],
"description": "Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2F543A7C9cc80Cc2427c892B96263098d23ee55a#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x4890928941e62e273dA359374b105F803329F473",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4890928941e62e273dA359374b105F803329F473#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "ETHLockbox",
"isVerified": true,
"address": "eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x67B4de6FfA66EF201Ea6099A89cA397D56622E31#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x70277624cdE90492231Eb23309e1251Beb18Dff5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759422923,
"transactionHash": "0x744cf7d28324729cace731ac736872da669439a0d380f1f52b8d31af203f7329",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x70277624cdE90492231Eb23309e1251Beb18Dff5#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733134751,
"transactionHash": "0x521e36f9009b6c2545f054baf46587c17738e71b354712e0b534c5a53192fceb",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1771355471,
"transactionHash": "0xeba2fc77f814ea5de7fc0e3b1496926483d14cf8541633c04aec9d1fec8eaf9c",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc1047e30EFC9E172cFe7aa0219895B6a43fC415F#code"
},
{
"name": "L1OpUSDCBridgeAdapter",
"isVerified": true,
"address": "eth:0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75"
],
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735038311,
"transactionHash": "0x7bff56936a70f2b482f4b32df6bcfcc5c76b64aae40f7e8a4c5c666c328fa44d",
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
}
],
"description": "Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb#code"
}
]
},
"escrows": [
{
"address": "0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"sinceTimestamp": 1753380095,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x67B4de6FfA66EF201Ea6099A89cA397D56622E31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380095,
"transactionHash": "0xdd89a3933dea0f44e1a461441f3c78e341702e9a4148784780644cdac90148c2",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x67B4de6FfA66EF201Ea6099A89cA397D56622E31#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"sinceTimestamp": 1733134751,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xeb9bf100225c214Efc3E7C651ebbaDcF85177607",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x89889B569c3a505f3640ee1Bd0ac1D557f436D2a"
],
"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/0xeb9bf100225c214Efc3E7C651ebbaDcF85177607#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"sinceTimestamp": 1735038311,
"tokens": [
"USDC"
],
"contract": {
"name": "Custom USDC Escrow",
"isVerified": true,
"address": "eth:0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE7c9a9DddAb8a384c38D721DE64E4222Fe76DF75"
],
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735038311,
"transactionHash": "0x7bff56936a70f2b482f4b32df6bcfcc5c76b64aae40f7e8a4c5c666c328fa44d",
"implementations": [
"eth:0xcfF35e3C0B8D197A6Ce10802cd649FBb9957dA07"
]
}
],
"description": "Custom Circle governed escrow for USDC bridged to Soneium.",
"url": "https://etherscan.io/address/0xC67A8c5f22b40274Ca7C4A56Db89569Ee2AD3FAb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"sinceTimestamp": 1737366215,
"tokens": [
"stETH",
"wstETH"
],
"contract": {
"name": "Custom (w)stETH Escrow.",
"isVerified": true,
"address": "eth:0x2F543A7C9cc80Cc2427c892B96263098d23ee55a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737366215,
"transactionHash": "0xbd91ce5bc5a8c80796c11ac29b5aa78e37ad5f7b089c9a821d2ea6dbc6c60342",
"implementations": [
"eth:0xf034dE8BD85A434d9Dc68F03382B589f86791425"
]
}
],
"description": "Custom Lido-governed escrow for bridging (w)stETH via canonical messaging to Soneium.",
"url": "https://etherscan.io/address/0x2F543A7C9cc80Cc2427c892B96263098d23ee55a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x1E69C2522Dc139c9fC74E6ecb89373d435E70Dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0x2B0634e5b534BA765e24640281b4eB636d446dF3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877615,
"transactionHash": "0x46152ee7f01c6f1ed806686da84a6a0bb3a05d3a20d9285db5d673ea0eefd7a0",
"implementations": [
"eth:0x9711256c6F2dFFabff9671dBaf1B4A3F7FB3Cffb"
]
},
{
"timestamp": 1741234967,
"transactionHash": "0x56dec8be0d5584f5dc8bce241414c6ee8e9df12ffab1bb6f31d4a2ea33218bf3",
"implementations": [
"eth:0x2B0634e5b534BA765e24640281b4eB636d446dF3"
]
}
],
"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 SoonMultisig\n * **batcherHash**: EOA 2\n * **owner**: SoonMultisig",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E69C2522Dc139c9fC74E6ecb89373d435E70Dd8#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x5A0702C7EbbEC83802b35DB737FCcDc5fc6c5E07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0x29174FC953F163452093aFa9eE3904168C74b2E7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877603,
"transactionHash": "0x557adf57420f4cad2ac0e42b83fa2190aea6f942112a3fcb9022ccddaff10570",
"implementations": [
"eth:0x84Afee7709273060212BA3223F250a1E3EaEa317"
]
},
{
"timestamp": 1739330039,
"transactionHash": "0x171143120577a3f09614a4054f56a007ccc92e1ab16a0dedb844b9559872a51b",
"implementations": [
"eth:0x24331B68bea70c2b086BC883EEEA551BAF80C2BA"
]
},
{
"timestamp": 1765177955,
"transactionHash": "0xd73f4c3b5fed189876a719ed9a80e649b30e2eabba32d6e642deab3bc7f1e149",
"implementations": [
"eth:0x29174FC953F163452093aFa9eE3904168C74b2E7"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals. This version (originally from SOON) of the OptimismPortal is modified to support Solana addresses. It disallows ERC20 token deposits and L1->L2 transactions that would create a contract. Withdrawals can be frozen / blacklisted by a permissioned actor. Has a MIN_BRIDGE_VALUE set to 0.001 ETH.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SoonMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5A0702C7EbbEC83802b35DB737FCcDc5fc6c5E07#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xcf0f094b6765eD31038003831F7f75bD07Bd49c2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0xF4Ebf91489d508Ad5330a330c2d961F9aF6FA5B5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877747,
"transactionHash": "0x1c6d1fa315bfd4ffcba3a5353ef8018bbd64de4bbe8dba4aa93727b23e0d790b",
"implementations": [
"eth:0xF4Ebf91489d508Ad5330a330c2d961F9aF6FA5B5"
]
}
],
"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 SoonMultisig",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcf0f094b6765eD31038003831F7f75bD07Bd49c2#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xD02631b334FfDCD5674217e57fe524c44B341DD4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0xDA90C58e1BE0d55eA246C33CDF5Fd2Ed379c02be"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877255,
"transactionHash": "0x0c818f277cbb54bc47628a7644b5a4e420393ba35fd831ad2fbd7b9ffd54d144",
"implementations": [
"eth:0xB64160864b3b092a5F482e606A17453f90d0c965"
]
},
{
"timestamp": 1740136463,
"transactionHash": "0xa6c23125cba636f52bf3aeef46e6567b9862fbcb82157c92af4f1c35321804ce",
"implementations": [
"eth:0xDA90C58e1BE0d55eA246C33CDF5Fd2Ed379c02be"
]
}
],
"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 SoonMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD02631b334FfDCD5674217e57fe524c44B341DD4#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x7d34832fc0cc6ed718a993CAAb4c6CAdaE9763A2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0x5ef275bed4d7d3eD69BAc22a0dEf8947f8cA1b4B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877651,
"transactionHash": "0x79cd2b9bb22fc4d2c7035d85b6fb853e593f33e11ae4616cf8f573f16aad51f9",
"implementations": [
"eth:0x5ef275bed4d7d3eD69BAc22a0dEf8947f8cA1b4B"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SoonMultisig",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7d34832fc0cc6ed718a993CAAb4c6CAdaE9763A2#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xbB138cE37870443d5b2B02a36619D3478738E0f6",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0x6846B4E0b9992E154fE7d315667B1e385445C503"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877699,
"transactionHash": "0xcdd0d47d34995031f0ed868e50fd27cc39e6edbcac2dde7a11da7e720795a72f",
"implementations": [
"eth:0x6846B4E0b9992E154fE7d315667B1e385445C503"
]
}
],
"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 SoonMultisig",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbB138cE37870443d5b2B02a36619D3478738E0f6#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xe822c3d76ac133f7d9f12c39c1BF28a797624AA9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0xE6874d09046173911A5e2bD4B4e6148dBB1B4f8A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ETH from host chain to this chain. This version (originally from SOON) is modified to support Solana addresses. It requires specifying the destination SOL address and removes support for ERC20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SoonMultisig",
"upgradableBy": [
{
"name": "SoonMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe822c3d76ac133f7d9f12c39c1BF28a797624AA9#code"
},
{
"name": "RiscZeroVerifier",
"isVerified": false,
"address": "eth:0x455218fa82e96A6adCcf182EE8A90A93BE7a6Bc6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x455218fa82e96A6adCcf182EE8A90A93BE7a6Bc6#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": false,
"address": "eth:0x57d53F9715A0A8bEBDFf74b72eCE85950CcfD087",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57d53F9715A0A8bEBDFf74b72eCE85950CcfD087#code"
},
{
"name": "KailuaGame",
"isVerified": true,
"address": "eth:0x62CFb085Ce639a7C3896E51548378cFE5829Bd32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation of the KailuaGame with type 2000. Based on this implementation, new KailuaGames are created with every new state root proposal.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62CFb085Ce639a7C3896E51548378cFE5829Bd32#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SoonMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d#code"
},
{
"name": "FaultDisputeGame",
"isVerified": false,
"address": "eth:0xAa17a7021054a984199a5bC40538f3DD6d04d36e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAa17a7021054a984199a5bC40538f3DD6d04d36e#code"
},
{
"name": "KailuaTreasury",
"isVerified": true,
"address": "eth:0xd6E6c8bd7A86C2ba6e846D8ae2f9cC013c533beb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Entrypoint for state root proposals. Manages bonds (currently 0.01 ETH) and tournaments for the OP Kailua state validation system, wrapping the OP stack native DisputeGameFactory.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd6E6c8bd7A86C2ba6e846D8ae2f9cC013c533beb#code"
}
]
},
"escrows": [
{
"address": "0x5A0702C7EbbEC83802b35DB737FCcDc5fc6c5E07",
"sinceTimestamp": 1735877303,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x5A0702C7EbbEC83802b35DB737FCcDc5fc6c5E07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0x29174FC953F163452093aFa9eE3904168C74b2E7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735877603,
"transactionHash": "0x557adf57420f4cad2ac0e42b83fa2190aea6f942112a3fcb9022ccddaff10570",
"implementations": [
"eth:0x84Afee7709273060212BA3223F250a1E3EaEa317"
]
},
{
"timestamp": 1739330039,
"transactionHash": "0x171143120577a3f09614a4054f56a007ccc92e1ab16a0dedb844b9559872a51b",
"implementations": [
"eth:0x24331B68bea70c2b086BC883EEEA551BAF80C2BA"
]
},
{
"timestamp": 1765177955,
"transactionHash": "0xd73f4c3b5fed189876a719ed9a80e649b30e2eabba32d6e642deab3bc7f1e149",
"implementations": [
"eth:0x29174FC953F163452093aFa9eE3904168C74b2E7"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5A0702C7EbbEC83802b35DB737FCcDc5fc6c5E07#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xe822c3d76ac133f7d9f12c39c1BF28a797624AA9",
"sinceTimestamp": 1735877327,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xe822c3d76ac133f7d9f12c39c1BF28a797624AA9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x90b2Da5f99C0ca658067D621E3694C2Ec49C233d"
],
"implementations": [
"eth:0xE6874d09046173911A5e2bD4B4e6148dBB1B4f8A"
]
},
"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/0xe822c3d76ac133f7d9f12c39c1BF28a797624AA9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Kailua fault proof program SOON",
"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": "According to the SOON team, this Kailua FPVM program was compiled using a local version with some additional logging added for debugging purposes. The code is not public and thus the program hash cannot be independently verified.",
"hash": "0x951f56039ddaca6cdd588e55d7205882ec158e3afc5d048f2d723da0d8858ecf"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x455218fa82e96A6adCcf182EE8A90A93BE7a6Bc6"
]
}
+10 -4
+2 -2
{
"arbitrum": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [
{
"id": "Validator",
"name": "Validator",
"description": "Permissioned to call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the main Diamond contract.",
"accounts": [
{
"address": "eth:0x78325837C780788Ce6afF7883FdF68890010Fe30",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0xCD0b5A01Abe9C14f6EFbC610C02ECf0FB69855dA",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "EmergencyUpgradeBoard",
"name": "EmergencyUpgradeBoard",
"accounts": [
{
"address": "eth:0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6",
"type": "Contract",
"isVerified": true,
"name": "0xECE8…E3f6",
"url": "https://etherscan.io/address/0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6"
}
],
"chain": "ethereum",
"description": "A custom contract allowing a 3/3 of SecurityCouncil, ZK Foundation Multisig and Guardians to `executeEmergencyUpgrade()` via the ProtocolUpgradeHandler.\n* Can upgrade **with no delay**\n * BridgeHub [via: ProtocolUpgradeHandler → ProxyAdmin]\n * MessageRoot [via: ProtocolUpgradeHandler → ProxyAdmin]\n * CTMDeploymentTracker [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1AssetRouter [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1NativeTokenVault [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainTypeManager [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1Nullifier [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainAssetHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ProtocolUpgradeHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n* Can interact with BridgeHub\n * set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration [via: ProtocolUpgradeHandler]\n* Can interact with L1NativeTokenVault\n * pause / unpause the bridge [via: ProtocolUpgradeHandler]\n* Can interact with ChainTypeManager\n * manage the shared ValidatorTimelock contract address and the admin role, register and execute upgrades (and set their deadlines), freeze, revert batches and set permissioned validators and fee params for all connected chains [via: ProtocolUpgradeHandler]\n* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references [via: ProtocolUpgradeHandler]\n* Can interact with ChainAssetHandler\n * pause, resume chain migrations [via: ProtocolUpgradeHandler]\n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) [via: ProtocolUpgradeHandler]",
"discoveryDrivenData": true
},
{
"id": "Matter Labs Multisig",
"name": "Matter Labs Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: EraChainAdminProxy → ProxyAdmin]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: EraChainAdminProxy]\n* Can interact with ChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: EraChainAdminProxy]",
"accounts": [
{
"address": "eth:0x4e4943346848c4867F81dFb37c4cA9C5715A7828",
"type": "Contract",
"isVerified": true,
"name": "0x4e49…7828",
"url": "https://etherscan.io/address/0x4e4943346848c4867F81dFb37c4cA9C5715A7828"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929",
"type": "EOA",
"isVerified": true,
"name": "0x4A33…C929",
"url": "https://etherscan.io/address/0x4A333c167Ce76C46149c6B0197977ae02aaeC929"
},
{
"address": "eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481",
"type": "EOA",
"isVerified": true,
"name": "0x3F00…c481",
"url": "https://etherscan.io/address/0x3F0009D00cc78979d00Eb635490F23E8d6aCc481"
},
{
"address": "eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1",
"type": "EOA",
"isVerified": true,
"name": "0x5C7E…f1B1",
"url": "https://etherscan.io/address/0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1"
},
{
"address": "eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc",
"type": "EOA",
"isVerified": true,
"name": "0x3068…d2Bc",
"url": "https://etherscan.io/address/0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc"
},
{
"address": "eth:0x702caCafA54B88e9c54449563Fb2e496e85c78b7",
"type": "EOA",
"isVerified": true,
"name": "0x702c…78b7",
"url": "https://etherscan.io/address/0x702caCafA54B88e9c54449563Fb2e496e85c78b7"
},
{
"address": "eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE",
"type": "EOA",
"isVerified": true,
"name": "0xFAdb…79AE",
"url": "https://etherscan.io/address/0xFAdb20191Ab38362C50f52909817B74214CA79AE"
},
{
"address": "eth:0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28",
"type": "EOA",
"isVerified": true,
"name": "0xAf0B…9B28",
"url": "https://etherscan.io/address/0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28"
},
{
"address": "eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7",
"type": "EOA",
"isVerified": true,
"name": "0x7408…70C7",
"url": "https://etherscan.io/address/0x7408A268e5E6e8F08917c5b71015F4B9044970C7"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 1",
"name": "Avail Multisig 1",
"description": "A Multisig with 4/7 threshold. \n* Can upgrade **with no delay**\n * Vector \n* Can upgrade **with 1d delay**\n * AvailBridgeV1 [via: TimelockController with 1d delay → ProxyAdmin]\n* Can interact with Vector\n * can freeze the Vector contract and update the list of authorized relayers \n* Can interact with AvailBridgeV1\n * manage the pauser role and all other access control configurations, set the address of the target contract for DA verification, manage fees **with 1d delay** [via: TimelockController with 1d delay]\n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 1d delay or with no delay** [via: TimelockController with 1d delay - or - acting directly]\n * propose transactions ",
"accounts": [
{
"address": "eth:0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666",
"type": "Contract",
"isVerified": true,
"name": "0x7F2f…3666",
"url": "https://etherscan.io/address/0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x70a4F624A4E62C539abf0002634377b646612b1C",
"type": "EOA",
"isVerified": true,
"name": "0x70a4…2b1C",
"url": "https://etherscan.io/address/0x70a4F624A4E62C539abf0002634377b646612b1C"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
},
{
"address": "eth:0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2",
"type": "EOA",
"isVerified": true,
"name": "0xBe1D…78A2",
"url": "https://etherscan.io/address/0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
}
],
"discoveryDrivenData": true
},
{
"id": "Guardians",
"name": "Guardians",
"description": "A Multisig with 5/8 threshold. \nCustom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.\n* Can interact with ProtocolUpgradeHandler\n * extend the legal veto period, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"type": "Contract",
"isVerified": true,
"name": "0x600d…86b8",
"url": "https://etherscan.io/address/0x600dA620Ab29F41ABC6596a15981e14cE58c86b8"
}
],
"chain": "ethereum",
"references": [
{
"title": "Guardians - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-4-zksync-guardians"
}
],
"participants": [
{
"address": "eth:0x015318c16AE443a20DE0A776dB06a59F0D279057",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x015318c16AE443a20DE0A776dB06a59F0D279057"
},
{
"address": "eth:0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D"
},
{
"address": "eth:0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384"
},
{
"address": "eth:0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f"
},
{
"address": "eth:0x55c671BcE13120387Ded710A1d1b80C0e3d8E857",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x55c671BcE13120387Ded710A1d1b80C0e3d8E857"
},
{
"address": "eth:0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69"
},
{
"address": "eth:0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0"
},
{
"address": "eth:0xCe7a3dFcc35602155809920Ff65e093aa726f6cf",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xCe7a3dFcc35602155809920Ff65e093aa726f6cf"
}
],
"discoveryDrivenData": true
},
{
"id": "SecurityCouncil",
"name": "SecurityCouncil",
"description": "A Multisig with 9/12 threshold. \nCustom Multisig implementation that has a general threshold of 9 but also specific thresholds for upgrade approvals (6) or soft freezes (3).\n* Can interact with ProtocolUpgradeHandler\n * soft freeze, hard freeze, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x66E4431266DC7E04E7d8b7FE9d2181253df7F410",
"type": "Contract",
"isVerified": true,
"name": "0x66E4…F410",
"url": "https://etherscan.io/address/0x66E4431266DC7E04E7d8b7FE9d2181253df7F410"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-3-zksync-security-council"
}
],
"participants": [
{
"address": "eth:0x13f07d9BF17615f6a17F272fe1A913168C275A66",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x13f07d9BF17615f6a17F272fe1A913168C275A66"
},
{
"address": "eth:0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a"
},
{
"address": "eth:0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F"
},
{
"address": "eth:0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F"
},
{
"address": "eth:0x69462a81ba94D64c404575f1899a464F123497A2",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x69462a81ba94D64c404575f1899a464F123497A2"
},
{
"address": "eth:0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A"
},
{
"address": "eth:0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0"
},
{
"address": "eth:0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88"
},
{
"address": "eth:0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803"
},
{
"address": "eth:0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44"
},
{
"address": "eth:0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e"
},
{
"address": "eth:0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231"
}
],
"discoveryDrivenData": true
},
{
"id": "ValidatorTimelock",
"name": "ValidatorTimelock",
"accounts": [
{
"address": "eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776",
"type": "Contract",
"isVerified": true,
"name": "0x2e51…b776",
"url": "https://etherscan.io/address/0x2e5110cF18678Ec99818bFAa849B8C881744b776"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h.\n* Can interact with Diamond\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "SophonTransactionFilterer",
"name": "SophonTransactionFilterer",
"accounts": [
{
"address": "eth:0x9D06B34adc3026eF876e4DABb859C424DbDA3063",
"type": "Contract",
"isVerified": true,
"name": "0x9D06…3063",
"url": "https://etherscan.io/address/0x9D06B34adc3026eF876e4DABb859C424DbDA3063"
}
],
"chain": "ethereum",
"description": "A contract implementing the ITransactionFilterer interface, able to whitelist transactions based on sender- OR contractL2 (target) addresses. The whitelist is defined in AccessControl roles.\n* Can interact with Diamond\n * define addresses that can send transactions from L1 to L2 (e.g. for deposits, withdrawals, queued transactions). This is enforced in the Mailbox Facet ",
"discoveryDrivenData": true
},
{
"id": "SophonChainAdminMultisig",
"name": "SophonChainAdminMultisig",
"description": "A Multisig with 4/7 threshold. \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: SophonZkEvmAdmin]\n* Can interact with SophonTransactionFilterer\n * manage the whitelist ",
"accounts": [
{
"address": "eth:0xe4644b6d106A18062344c0A853666bc0B8f052d1",
"type": "Contract",
"isVerified": true,
"name": "0xe464…52d1",
"url": "https://etherscan.io/address/0xe4644b6d106A18062344c0A853666bc0B8f052d1"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x11BB5F79750de2Cc71e80cB2C59cF0a60EFFa95d",
"type": "EOA",
"isVerified": true,
"name": "0x11BB…a95d",
"url": "https://etherscan.io/address/0x11BB5F79750de2Cc71e80cB2C59cF0a60EFFa95d"
},
{
"address": "eth:0x0BA5557075B4E30bA409B01797c9c78b3Ce192bF",
"type": "EOA",
"isVerified": true,
"name": "0x0BA5…92bF",
"url": "https://etherscan.io/address/0x0BA5557075B4E30bA409B01797c9c78b3Ce192bF"
},
{
"address": "eth:0x3b6036d410cA018661324766680674921a8b2d89",
"type": "EOA",
"isVerified": true,
"name": "0x3b60…2d89",
"url": "https://etherscan.io/address/0x3b6036d410cA018661324766680674921a8b2d89"
},
{
"address": "eth:0x20719Abd2E63518e68D30a295388cAd6B542dCEf",
"type": "EOA",
"isVerified": true,
"name": "0x2071…dCEf",
"url": "https://etherscan.io/address/0x20719Abd2E63518e68D30a295388cAd6B542dCEf"
},
{
"address": "eth:0x14574dfC6B7aF658c5033BA95673864947956521",
"type": "EOA",
"isVerified": true,
"name": "0x1457…6521",
"url": "https://etherscan.io/address/0x14574dfC6B7aF658c5033BA95673864947956521"
},
{
"address": "eth:0x7f413262Cb811B034d077d9184b5Efda6943f2c3",
"type": "EOA",
"isVerified": true,
"name": "0x7f41…f2c3",
"url": "https://etherscan.io/address/0x7f413262Cb811B034d077d9184b5Efda6943f2c3"
},
{
"address": "eth:0xd89b0f620E0C72BD82e0447dE07FB0A0Abe01F69",
"type": "EOA",
"isVerified": true,
"name": "0xd89b…1F69",
"url": "https://etherscan.io/address/0xd89b0f620E0C72BD82e0447dE07FB0A0Abe01F69"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 2",
"name": "Avail Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with AvailBridgeV1\n * pause the bridge ",
"accounts": [
{
"address": "eth:0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930",
"type": "Contract",
"isVerified": true,
"name": "0x1a5B…8930",
"url": "https://etherscan.io/address/0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE458b870F2F59a49915591282f1Bb688901767AD",
"type": "EOA",
"isVerified": true,
"name": "0xE458…67AD",
"url": "https://etherscan.io/address/0xE458b870F2F59a49915591282f1Bb688901767AD"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
}
],
"discoveryDrivenData": true
},
{
"id": "ZK Foundation Multisig",
"name": "ZK Foundation Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0xbC1653bd3829dfEc575AfC3816D4899cd103B51c",
"type": "Contract",
"isVerified": true,
"name": "0xbC16…B51c",
"url": "https://etherscan.io/address/0xbC1653bd3829dfEc575AfC3816D4899cd103B51c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52",
"type": "EOA",
"isVerified": true,
"name": "0xA10f…bE52",
"url": "https://etherscan.io/address/0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52"
},
{
"address": "eth:0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222",
"type": "EOA",
"isVerified": true,
"name": "0x56B3…2222",
"url": "https://etherscan.io/address/0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222"
},
{
"address": "eth:0x441e5c8910Ef39996B2D01499509861228cbc2d1",
"type": "EOA",
"isVerified": true,
"name": "0x441e…c2d1",
"url": "https://etherscan.io/address/0x441e5c8910Ef39996B2D01499509861228cbc2d1"
},
{
"address": "eth:0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709",
"type": "EOA",
"isVerified": true,
"name": "0x0B2E…4709",
"url": "https://etherscan.io/address/0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709"
},
{
"address": "eth:0x610e45F112e0c8a9aA7137677C83E7A198A1b991",
"type": "EOA",
"isVerified": true,
"name": "0x610e…b991",
"url": "https://etherscan.io/address/0x610e45F112e0c8a9aA7137677C83E7A198A1b991"
}
],
"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": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0x78325837C780788Ce6afF7883FdF68890010Fe30",
"type": "EOA",
"isVerified": true,
"name": "0x7832…Fe30",
"url": "https://etherscan.io/address/0x78325837C780788Ce6afF7883FdF68890010Fe30"
},
{
"address": "eth:0xCD0b5A01Abe9C14f6EFbC610C02ECf0FB69855dA",
"type": "EOA",
"isVerified": true,
"name": "0xCD0b…55dA",
"url": "https://etherscan.io/address/0xCD0b5A01Abe9C14f6EFbC610C02ECf0FB69855dA"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "ProtocolTimelockController(L2->L1)",
"name": "ProtocolTimelockController(L2->L1)",
"accounts": [
{
"address": "eth:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"type": "EOA",
"isVerified": true,
"name": "0x085b…c714",
"url": "https://etherscan.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolUpgradeHandler\n * start (queue) upgrades ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xe14828E4405239dD331F194F1B7883eeD73bCBF3",
"type": "EOA",
"isVerified": true,
"name": "0xe148…CBF3",
"url": "https://etherscan.io/address/0xe14828E4405239dD331F194F1B7883eeD73bCBF3"
}
],
"chain": "ethereum",
"description": "* Can interact with SophonZkEvmAdmin\n * set the conversion factor for gas token deposits ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0x50B238788747B26c408681283D148659F9da7Cf9",
"type": "EOA",
"isVerified": true,
"name": "0x50B2…7Cf9",
"url": "https://etherscan.io/address/0x50B238788747B26c408681283D148659F9da7Cf9"
}
],
"chain": "ethereum",
"description": "* Can interact with SophonTransactionFilterer\n * call requestL2Transaction() with any target/calldata (whitelisted superuser sender) \n * manage the whitelist ",
"discoveryDrivenData": true
},
{
"id": "EOA-5",
"name": "EOA 5",
"accounts": [
{
"address": "eth:0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D",
"type": "EOA",
"isVerified": true,
"name": "0x27BF…787D",
"url": "https://etherscan.io/address/0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D"
}
],
"chain": "ethereum",
"description": "* Can interact with Vector\n * it is a ‘Relayer’ and can call commitHeaderRange() to commit block ranges to the Vector contract. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"zksync2": {
"roles": [],
"actors": [
{
"id": "ZkProtocolGovernor",
"name": "ZkProtocolGovernor",
"accounts": [
{
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"type": "Contract",
"isVerified": true,
"name": "0x7670…e34f",
"url": "https://explorer.zksync.io/address/0x76705327e682F2d96943280D99464Ab61219e34f"
}
],
"chain": "zksync2",
"description": "Main Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for protocol upgrade proposals (ZIPs) that start on ZKsync Era, go through Ethereum Layer 1 and can - from there - target all L1 and L2 contracts. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ProtocolTimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles and change the minimum delay [via: ProtocolTimelockController]\n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkTokenGovernor",
"name": "ZkTokenGovernor",
"accounts": [
{
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"type": "Contract",
"isVerified": true,
"name": "0xb83F…5746",
"url": "https://explorer.zksync.io/address/0xb83FF6501214ddF40C91C9565d095400f3F45746"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Token Program Proposals (TPPs) usually targeting the ZK token on ZKsync Era. At least 21M ZK tokens are necessary to start a proposal (for delegates) and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ZkToken\n * grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token **with 3d delay** [via: ZkTokenTimelockController with 3d delay]\n* Can interact with ZkTokenTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: ZkTokenTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkGovOpsGovernor",
"name": "ZkGovOpsGovernor",
"accounts": [
{
"address": "zksync:0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160",
"type": "Contract",
"isVerified": true,
"name": "0xEEEa…b160",
"url": "https://explorer.zksync.io/address/0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Governance Advisory Proposals (GAPs) that are not executable onchain. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with GovOpsTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: GovOpsTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "Guardians_l2Alias",
"name": "Guardians_l2Alias",
"accounts": [
{
"address": "zksync:0x711ea620AB29f41AbC6596a15981e14ce58C97c9",
"type": "EOA",
"isVerified": true,
"name": "0x711e…97c9",
"url": "https://explorer.zksync.io/address/0x711ea620AB29f41AbC6596a15981e14ce58C97c9"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) \n* Can interact with ZkGovOpsGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) ",
"discoveryDrivenData": true
},
{
"id": "ZKFoundationMultisig_l2Alias",
"name": "ZKFoundationMultisig_l2Alias",
"accounts": [
{
"address": "zksync:0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D",
"type": "EOA",
"isVerified": true,
"name": "0xcd27…C62D",
"url": "https://explorer.zksync.io/address/0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * make direct proposals without owning ZK tokens. In propose-guarded mode, this address is the ONLY allowed proposer. Propose-guarded mode is currently set to false ",
"discoveryDrivenData": true
},
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"accounts": [
{
"address": "zksync:0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4",
"type": "EOA",
"isVerified": true,
"name": "0xF41E…6bc4",
"url": "https://explorer.zksync.io/address/0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4"
}
],
"chain": "zksync2",
"description": "* Can upgrade **with no delay**\n * ZkToken [via: ZkTokenProxyAdmin]\n* Can interact with ZkToken\n * control all roles in the ZkToken access control, including the minter roles ",
"discoveryDrivenData": true
}
]
}
}
+8 -2
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x05eDE6aD1f39B7A16C949d5C33a0658c9C7241e3",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729268843,
"transactionHash": "0x9c8b285f3c5712386493b015fbcb0f92e5e6d9e987ddb6c8646c49959620bd04",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1729268843,
"transactionHash": "0x9c8b285f3c5712386493b015fbcb0f92e5e6d9e987ddb6c8646c49959620bd04",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1738696943,
"transactionHash": "0x82657fe86f99698eae75f1e2104fa211e67b641b7e58450aa8ceabf962798b16",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1743095267,
"transactionHash": "0x92c1aabdc2a908d40bee5207ba851be0a7f91747e4d86f4aa23201d5605d7f75",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1747087643,
"transactionHash": "0x0366efdb1fc5b705d59c1e88cdc9e9118eea686227b8062627b8bf65be4b6a56",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1751396099,
"transactionHash": "0x3fb1153770857ac1714eb72d2cc7a76ebf1160bb8e844e8aa08164c72a25d419",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1755018299,
"transactionHash": "0x97141968736d3d95e4cbf3c10293b7bd56f43ad6d4e3bed854e0025ed2d2d7e4",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1761612755,
"transactionHash": "0x1dd8584ad0e2a106271e682fbec33c6066933fbf4c243f46eba13707e1ed729f",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1769536979,
"transactionHash": "0x02b9e48f0f8550fe61d750085088df57ec084a55468a6b259bc600b2d9f9a8de",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1771011071,
"transactionHash": "0x13067d49b849a7460f1f8a587edaee878b49dc7b2278ce8b16e223ca042ddbb9",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: SophonZkEvmAdmin; ultimately SophonChainAdminMultisig\n * **getTransactionFilterer**: SophonTransactionFilterer\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05eDE6aD1f39B7A16C949d5C33a0658c9C7241e3#code"
},
{
"name": "AvailL1DAValidator",
"isVerified": true,
"address": "eth:0x8f50d93B9955B285f787043B30B5F51D09bE0120",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies that the validiums data was made available on Avail by querying the AvailBridgeV1 on Ethereum for a merkle proof of inclusion.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f50d93B9955B285f787043B30B5F51D09bE0120#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "AvailBridgeV1",
"isVerified": true,
"address": "eth:0x054fd961708D8E2B9c10a63F6157c74458889F0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B"
],
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720568903,
"transactionHash": "0x980ea7f295336624f103c47b5ec482f90c2c90f4b7d05140ceb5d40aa077963c",
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
}
],
"description": "Bridge contract that verifies merkle proofs of inclusion in the proven data of the Vector DA- and arbitrary message bridge. Also used for token- and arbitrary message transfers between Avail and Ethereum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Avail Multisig 1\n * **defaultAdmin**: TimelockController; ultimately Avail Multisig 1\n * **pauser**: Avail Multisig 2",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "1d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x054fd961708D8E2B9c10a63F6157c74458889F0a#code"
},
{
"name": "SophonZkEvmAdmin",
"isVerified": true,
"address": "eth:0xE1eeA4D6443b19D373Fe99De838b930Ef0ac2Ad3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets SophonChainAdminMultisig act through it.\n* Roles:\n * **owner**: SophonChainAdminMultisig\n * **tokenMultiplierSetter**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE1eeA4D6443b19D373Fe99De838b930Ef0ac2Ad3#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1USDCBridge",
"isVerified": true,
"address": "eth:0xf553E6D903AA43420ED7e3bc2313bE9286A8F987",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x2ccD5486Ea1b2A52dcD387c01314F6A328f66cbB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734114251,
"transactionHash": "0x5428361f75c29b1f0e9959bd21fef8fb179b22f009f314e6403a305770e8735f",
"implementations": [
"eth:0x86dF12f51E3531689e0615bb2F739ddf01337715"
]
},
{
"timestamp": 1737484199,
"transactionHash": "0x152dc623c52d7f2b058ec5b4dfb67f5e0fee14c04dc9c0db4ae02ed2dc4ab998",
"implementations": [
"eth:0x2ccD5486Ea1b2A52dcD387c01314F6A328f66cbB"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf553E6D903AA43420ED7e3bc2313bE9286A8F987#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x7f33D100f482093182111d69a4a457289e99f4ec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7f33D100f482093182111d69a4a457289e99f4ec#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#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": "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": "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": "Vector",
"isVerified": true,
"address": "eth:0x02993cdC11213985b9B13224f3aF289F03bf298d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720128227,
"transactionHash": "0x6c2c609d7a13fbdad53b1530d34d740ffa36653f29b5f14220429d7c0d6a3ffc",
"implementations": [
"eth:0x2434564f3524b44258B11643729343Ef57D60989"
]
},
{
"timestamp": 1721438975,
"transactionHash": "0x13d7977b9fca12882ea6ba47ce1b20a87de540c358b5e260584e0d921e786f5e",
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
}
],
"description": "The Vector bridge contract that accepts and stores Avail data availability commitments on Ethereum.\n* Roles:\n * **guardians**: Avail Multisig 1\n * **relayers**: EOA 5\n * **timelocks**: Avail Multisig 1",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02993cdC11213985b9B13224f3aF289F03bf298d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36194271a00dBBBae314E83dA56d0FF75fDa367B#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x45828180bbE489350D621d002968A0585406d487",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d.\n* Roles:\n * **canceller**: Avail Multisig 1\n * **defaultAdmin**: Avail Multisig 1, TimelockController; ultimately Avail Multisig 1\n * **executor**: Avail Multisig 1\n * **proposer**: Avail Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45828180bbE489350D621d002968A0585406d487#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"ETH",
"USDT",
"BEAM",
"stAethir",
"PEPE",
"wstETH",
"weETH",
"sDAI",
"DAI",
"WBTC",
"stAZUR",
"stAVAIL",
"OPN",
"SOPH"
],
"premintedTokens": [
"SOPH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Treasure and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x954ba8223a6BFEC1Cc3867139243A02BA0Bc66e4",
"l2EtherAddress": "0x72af9F169B619D85A47Dfa8fefbCD39dE55c567D",
"tokensToAssignFromL1": [
"SOPH"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"eth:0x7f33D100f482093182111d69a4a457289e99f4ec",
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x879cD57975d596004863D30c59d579ef78BBbe32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x879cD57975d596004863D30c59d579ef78BBbe32#code"
},
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1, SorareAdminMultisig\n * **operators**: EOA 2, EOA 3\n * **tokenAdmins**: EOA 4, EOA 5",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "14d"
},
{
"name": "SorareAdminMultisig",
"delay": "14d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "OrderRegistry",
"isVerified": true,
"address": "eth:0x518c4A79a1102eEDc987005CA8cE6B87Ca14dDf8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper contract for registering limit orders from L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x518c4A79a1102eEDc987005CA8cE6B87Ca14dDf8#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0xbcc17446B99465fF01E6816d9bcb2d8b1D7cEdB1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`3174901404014912024702042974619036870715605532092680335571201877913899936957`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbcc17446B99465fF01E6816d9bcb2d8b1D7cEdB1#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xF5C9F957705bea56a7e806943f98F7777B995826",
"sinceTimestamp": 1626352527,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.0",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "3174901404014912024702042974619036870715605532092680335571201877913899936957"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 8d delay on code upgrades."
}
],
"zkVerifiers": [
"eth:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+7 -5
+7 -5
{
"creator": "Succinct",
"projectsForTvs": [
{
"projectId": "celo",
"sinceTimestamp": 1771445567
},
{
"projectId": "vector",
"sinceTimestamp": 1771445567
},
{
"projectId": "sophon",
"sinceTimestamp": 1771445567
},
{
"projectId": "lens",
"sinceTimestamp": 1771445567
},
{
"projectId": "galxegravity",
"sinceTimestamp": 1771445567
"sinceTimestamp": 1771445567,
"untilTimestamp": 1763420400
},
{
"projectId": "rari",
"sinceTimestamp": 1771445567
},
{
"projectId": "blobstream",
"sinceTimestamp": 1771445567
},
{
"projectId": "molten",
"sinceTimestamp": 1771445567
},
{
"projectId": "winr",
"sinceTimestamp": 1771445567
},
{
"projectId": "phala",
"sinceTimestamp": 1771445567
},
{
"projectId": "kroma",
"sinceTimestamp": 1771445567
}
],
"proofSystemInfo": "\n## Description\n\nSP1 Hypercube is the latest Succint's RISC-V zkVM using the [Plonky3](https://github.com/Plonky3/Plonky3) stack. The zkVM execution is proven recursively and is wrapped into a SNARK for final verification. It provides tools to generate onchain Groth16 or Plonk verifiers. SP1 Hypercube provides 98 bits of proven security, as per [Ethereum Foundation’s soundcalc evaluation](https://github.com/ethereum/soundcalc/blob/main/reports/sp1.md).\n\n## Proof system\n\nSP1 Hypercube is an iteration of the previous zkVM version, SP1 Turbo, introducing architectural changes that improve prover performance and memory efficiency.\n\nHypercube proves execution of a 64-bit RISC-V VM using several ZK circuits, or chips, connected by lookup arguments ([LogUp based on GKR protocol](https://docs.succinct.xyz/docs/sp1/hypercube/logupgkr)). VM execution trace is split into several shards of size approximately 2^22, that could be proven in parallel with a STARK proving system. Additional arguments prove memory consistency across shards. \n\nThe parallelized proofs are recursively checked by the next layer of STARK circuits. The correctness of the final STARK proof is verified with the final wrap SNARK program, the wrap SNARK proof is verified onchain.\n\n### Hypercube vs. Turbo\n\nProving time and memory optimizations of SP1 Hypercube are based on several design improvements compared to SP1 Turbo.\n\nHypercube implements a [multilinear polynomial](https://github.com/succinctlabs/sp1/tree/v6.0.0/slop/crates/multilinear) STARK compared to univariate polynomials in Turbo. Multilinear polynomial based proving systems are more efficient than univariate because manipulating them reduces usage of log-linear FFT algorithm.\n\nMultilinear polynomials also allow Hypercube to innovate on a polynomial commitment scheme, implementing [Jagged PCS](https://docs.succinct.xyz/docs/sp1/hypercube/jagged) (defined in [this preprint](https://eprint.iacr.org/2025/917)). Jagged PCS allows efficient packing of computation traces of zkVM chips with different lengths, optimizing the prover memory requirement. More efficient LogUp based on GKR is also made possible because of multilinear polynomials.\n\n### Recursion circuits\n\nSP1 Hypercube provides tools for recursive proof generation by [verifying proofs in a zkVM](https://docs.succinct.xyz/docs/sp1/writing-programs/proof-aggregation#verifying-proofs-inside-the-zkvm). This uses the same toolkit as top-level proof system, but proves the correct verification of all proofs generated on the previous step.\n\nFirst, proofs for correctness of separate shards are generated. These shards may have different trace shape, so in the next step they are normalized. Finally, normalized shard proofs are recursively compressed in batches of 3-4 to a single zkVM proof. For further details see [this page](https://docs.succinct.xyz/docs/sp1/hypercube/recursion).\n\n### Final wrap\n\nSP1 Hypercube supports Plonk (with KZG polynomial commitments) or Groth16 final SNARK wrap of the STARK proof for performant onchain proof verification ([link](https://docs.succinct.xyz/docs/sp1/generating-proofs/proof-types#compressed)). The implementation of these proof systems over BN254 curve is used. For Plonk, Aztec Ignition trusted setup ceremony is used, for Groth16 Succinct run internal circuit-dependent phase 2 trusted setup (todo: link to trusted setups section).\n \n ",
"techStack": {
"zkVM": [
{
"id": "Plonky3",
"type": "STARK",
"name": "Plonky3",
"description": "Toolkit that implements a set of primitives for STARK-based zkVMs developed by Polygon Zero team."
},
{
"id": "RISCV64",
"type": "ISA",
"name": "RISC-V 64bit",
"description": "Free and open-source universal 64-bit ISA used across a variety of hardware and software."
},
{
"id": "BabyBear",
"type": "Field",
"name": "Baby Bear",
"description": "Prime field of order p = 15 * 2**27 + 1."
},
{
"id": "KoalaBear",
"type": "Field",
"name": "Koala Bear",
"description": "Prime field of order p = 2**31 - 2**24 + 1."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"id": "SP1HypercubeGroth16",
"name": "SP1 Hypercube Groth16 circuit-specific setup",
"risk": "red",
"shortDescription": "Trusted setup ceremony for SP1 Hypercube (release v6.0.0) Groth16 final wrap circuits. Ceremony was organized by Succinct and includes 12 participants from 7 different organizations, without public calls to participate.",
"longDescription": "\nCeremony was run among 12 participants affiliated with Across Protocol, OP Labs, Offchain Labs, Succinct Labs, Conduit, Ethrealize and 1 independent participant. It generated circuit-specific setup parameters for Groth16 wrapper of SP1 Hypercube zkVM.\n\n- Ceremony info on Succinct docs page: .\n- Ceremony instructions and verification instructions: [https://github.com/succinctlabs/semaphore-gnark-11/tree/main](https://github.com/succinctlabs/semaphore-gnark-11/tree/main).\n- Link to transcript and other artifacts (Note: will immediately start downloading .tar.gz file): .\n "
}
],
"verifierHashes": [
{
"hash": "0xbb1a6f2930e94bfe8b35e794faf43133214534a17d2ad8e51358cad437b3c317",
"name": "SP1 Hypercube Plonk v6.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v6.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"chain": "ethereum"
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
},
{
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n The regeneration process consumed around 70 GiB of memory on the peak.\n \n 1. Install necessary dependencies: rust, docker, sp1 toolkit, go.\n \n ```\n sudo apt update\n sudo apt install build-essential golang-go protobuf-compiler\n \n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n cargo install --debug --locked cargo-make\n \n curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n sudo apt install -y docker-ce\n sudo usermod -aG docker ${USER}\n \n curl -L https://sp1up.succinct.xyz/ | bash\n source ~/.bashrc\n sp1up\n ```\n \n 2. Clone [sp1 repo](https://github.com/succinctlabs/sp1), set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n \n ```\n git clone https://github.com/succinctlabs/sp1.git\n cd sp1/crates/prover\n git checkout v6.0.0 # commit should be f87f8d6ff005d542db22e241928319f5e96a4609\n export SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n \n make build-circuits\n ```\n \n The script will generate Plonk verifier smart contract with verification keys and the verifier hash in `build/plonk` dir.\n "
},
{
"hash": "0x0e78f4db7a6771a3a6a7d9c3b0de6fe73d58781368967a7fe84d87aefffec896",
"name": "SP1 Hypercube Groth16 v6.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v6.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "0x99A74A05a0FaBEB217C1A329b0dac59a1FA52508",
"chain": "ethereum"
"address": "eth:0x99A74A05a0FaBEB217C1A329b0dac59a1FA52508"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n The regeneration process consumed around 70 GiB of memory on the peak.\n \n 1. Install necessary dependencies: rust, docker, sp1 toolkit, go.\n \n ```\n sudo apt update\n sudo apt install build-essential golang-go protobuf-compiler\n \n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n cargo install --debug --locked cargo-make\n \n curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n sudo apt install -y docker-ce\n sudo usermod -aG docker ${USER}\n \n curl -L https://sp1up.succinct.xyz/ | bash\n source ~/.bashrc\n sp1up\n ```\n \n 2. Clone [sp1 repo](https://github.com/succinctlabs/sp1), set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to build groth16 circuit file.\n \n ```\n git clone https://github.com/succinctlabs/sp1.git\n cd sp1/crates/prover\n git checkout v6.0.0 # commit should be f87f8d6ff005d542db22e241928319f5e96a4609\n export SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n \n make build-circuits\n ```\n \n This script will generate `groth16_circuit.bin` file in the `prover/build/groth16` directory, however it will not generate correct prover and verifier keys.\n \n 3. Generate correct pk and vk using the correct SP1 trusted setup. This will require [semaphore-gnark-11](https://github.com/succinctlabs/semaphore-gnark-11/tree/main) repo.\n \n ```\n cd\n git clone https://github.com/succinctlabs/semaphore-gnark-11.git # tested on commit hash 6d6ebc3608e609ec879e9ba99abee6b6b97d937d\n cd semaphore-gnark-11\n # Download the trusted setup transcript\n curl \"https://sp1-circuits.s3-us-east-2.amazonaws.com/v6.0.0-trusted-setup.tar.gz\" -o trusted-setup.tar.gz\n \n # Extract trusted setup transcript.\n tar -xzf trusted-setup.tar.gz\n \n # Build the binary.\n go build\n \n # Generate keys. They are outputted to the files pk and vk in the root directory.\n ./semaphore-gnark-11 key trusted-setup/phase1 trusted-setup/phase2-11 trusted-setup/evals /path/to/sp1/crates/prover/build/groth16/groth16_circuit.bin\n ```\n The last step will take several hours to complete.\n \n 4. Compute the hash of generated `vk` file: `shasum vk -a 256`.\n "
}
]
}
+10 -11
+10 -11
{
"creator": "Succinct",
"projectsForTvs": [
{
"projectId": "forknet",
"sinceTimestamp": 1753882500
},
{
"projectId": "katana",
"sinceTimestamp": 1751328000
},
{
"projectId": "blobstream",
"sinceTimestamp": 1717608107
},
{
"projectId": "vector",
"sinceTimestamp": 1720128227
},
{
"projectId": "sophon",
"sinceTimestamp": 1745341091
},
{
"projectId": "lens",
"sinceTimestamp": 1745359200
},
{
"projectId": "plumenetwork",
"sinceTimestamp": 1746735060,
"untilTimestamp": 1763420400
},
{
"projectId": "galxegravity",
"sinceTimestamp": 1745880540
"sinceTimestamp": 1745880540,
"untilTimestamp": 1763420400
},
{
"projectId": "rari",
"sinceTimestamp": 1734562800
},
{
"projectId": "winr",
"sinceTimestamp": 1747088280
},
{
"projectId": "molten",
"sinceTimestamp": 1731480840
},
{
"projectId": "taiko",
"sinceTimestamp": 1730452800
},
{
"projectId": "lumia",
"sinceTimestamp": 1753882500
},
{
"projectId": "polygonzkevm",
"sinceTimestamp": 1753882500
},
{
"projectId": "xlayer",
"sinceTimestamp": 1753882500
},
{
"projectId": "silicon",
"sinceTimestamp": 1753882500
},
{
"projectId": "facet",
"sinceTimestamp": 1751407200
},
{
"projectId": "ethscriptions",
"sinceTimestamp": 1767735587
},
{
"projectId": "ternoa",
"sinceTimestamp": 1753882500
},
{
"projectId": "wirex",
"sinceTimestamp": 1753882500
},
{
"projectId": "penchain",
"sinceTimestamp": 1753882500
},
{
"projectId": "phala",
"sinceTimestamp": 1736290800
},
{
"projectId": "mantle",
"sinceTimestamp": 1757973600
},
{
"projectId": "zircuit",
"sinceTimestamp": 1756072800
},
{
"projectId": "morph",
"sinceTimestamp": 1737359447
},
{
"projectId": "gpt",
"sinceTimestamp": 1753882500
},
{
"projectId": "astarzkevm",
"sinceTimestamp": 1753882500
},
{
"projectId": "witness",
"sinceTimestamp": 1753882500
},
{
"projectId": "kroma",
"sinceTimestamp": 1739228400
},
{
"projectId": "haust",
"sinceTimestamp": 1756808195
},
{
"projectId": "celo",
"sinceTimestamp": 1765324800
}
],
"proofSystemInfo": "\n ## Description\n\n SP1 Turbo is a RISC-V zkVM using the [Plonky3](https://github.com/Plonky3/Plonky3) stack. The zkVM execution is proven recursively and is wrapped into a SNARK for final verification. It provides tools to generate onchain Groth16 or Plonk verifiers. SP1 targets [100 bits of security based on unproven proximity gaps conjecture](https://docs.succinct.xyz/docs/v5/sp1/security/security-model#conjectures-for-fris-security), so the actual security is likely lower.\n\n ## Proof system\n\n SP1 Turbo proves execution of a 32 bit RISC-V VM (RV32IM) using several ZK circuits connected by lookup arguments, as implemented in Plonky3. VM execution trace is split into several chunks that could be proven in parallel with a STARK proving system. The parallelized proofs are recursively checked by the next layer of STARK circuits. The correctness of the final STARK proof is verified with the final wrap SNARK program, the wrap SNARK proof is verified onchain.\n\n ### zkVM component\n\n Verifies execution of a RISC-V program in a zkVM. See [here](https://docs.succinct.xyz/docs/v5/sp1/security/rv32im-implementation) for more details on the exact RISC-V standard implemented. Uses [Plonky3](https://github.com/Plonky3/Plonky3) STARK toolkit with AIR arithmetization and FRI-based polynomial commitment scheme within the [BabyBear field](https://docs.succinct.xyz/docs/v5/sp1/security/security-model#hash-functions-and-the-random-oracle-model).\n\n ### Recursion circuits\n\n SP1 provides tools for recursive proof generation by [verifying proofs in a zkVM](https://docs.succinct.xyz/docs/v5/sp1/writing-programs/proof-aggregation#verifying-proofs-inside-the-zkvm). This uses the same toolkit as top-level proof system, but proves the correct verification of all proofs generated on the previous step.\n\n ### Final wrap\n\n SP1 supports Plonk (with KZG polynomial commitments) or Groth16 final SNARK wrap of the STARK proof for performant onchain proof verification ([link](https://docs.succinct.xyz/docs/v5/sp1/generating-proofs/proof-types#compressed)). The [gnark](https://github.com/Consensys/gnark) implementation of these proof systems over BN254 curve is used. For Plonk, Aztec Ignition trusted setup ceremony is used, for Groth16 Succinct run internal circuit-dependent phase 2 trusted setup, see [below](#trusted-setups) for more details.\n ",
"techStack": {
"zkVM": [
{
"id": "Plonky3",
"type": "STARK",
"name": "Plonky3",
"description": "Toolkit that implements a set of primitives for STARK-based zkVMs developed by Polygon Zero team."
},
{
"id": "RISCV32",
"type": "ISA",
"name": "RISC-V 32bit",
"description": "Free and open-source universal 32-bit ISA used across a variety of hardware and software."
},
{
"id": "BabyBear",
"type": "Field",
"name": "Baby Bear",
"description": "Prime field of order p = 15 * 2**27 + 1."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"id": "SP1TurboGroth16",
"name": "SP1 Turbo Groth16 circuit-specific setup",
"risk": "red",
"shortDescription": "Succinct's internally run trusted setup for SP1 Turbo (release v5.0.0) Groth16 final wrap circuits. Ceremony was run among 7 contributors to the SP1 project without public calls to participate.",
"longDescription": "\n Ceremony was run among 7 contributors to the SP1 project without public calls to participate. It generated setup parameters for Groth16 wrapper of SP1 zkVM.\n\n - Ceremony info on Succinct docs page: [https://docs.succinct.xyz/docs/v5/sp1/security/security-model#options](https://docs.succinct.xyz/docs/v5/sp1/security/security-model#options).\n - Ceremony instructions and verification instructions: [https://github.com/succinctlabs/semaphore-gnark-11/tree/main](https://github.com/succinctlabs/semaphore-gnark-11/tree/main).\n - Link to transcript and other artifacts (Note: will immediately start downloading .tar.gz file): [https://sp1-circuits.s3.us-east-2.amazonaws.com/v4.0.0-rc.3-trusted-setup.tar.gz](https://sp1-circuits.s3.us-east-2.amazonaws.com/v4.0.0-rc.3-trusted-setup.tar.gz).\n "
}
],
"verifierHashes": [
{
"hash": "0xd4e8ecd2357dd882209800acd6abb443d231cf287d77ba62b732ce937c8b56e7",
"name": "SP1 Turbo Plonk v5.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v5.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"chain": "ethereum"
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
},
{
"address": "0xFF5Adab685362DC4C33536a65aF5873738D1216B",
"chain": "ethereum"
"address": "eth:0xFF5Adab685362DC4C33536a65aF5873738D1216B"
},
{
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe regeneration process consumed around 50 GiB of memory on the peak. Also, due to some os indeterminism, \nthe sp1 repo must be cloned into `/home/aurel/dev/sp1-wip/` directory, so we recommend creating `aurel` user on an Ubuntu 24.04 machine.\n\n1. Create a new `aurel` user on a linux os and login as this user.\n2. Install necessary dependencies: rust, sp1 toolkit, go.\n\n```\nsudo apt update\nsudo apt install build-essential golang-go\n\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\ncargo install --debug --locked cargo-make\n\ncurl -L https://sp1up.succinct.xyz/ | bash\nsp1up\n```\n\n3. Clone sp1 repo in the correct directory, set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n\n```\nmkdir -p dev/sp1-wip/\ncd dev/sp1-wip/\ngit clone https://github.com/succinctlabs/sp1.git\ncd sp1/crates/prover\ngit checkout v5.0.0 # commit should be 38f0f143dece864e8bffafad64196a924f190336\nexport SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n\nmake build-circuits\n```\n \nThe script will generate Plonk verifier smart contract with verification keys and the verifier hash in `build/plonk` dir.\n "
},
{
"hash": "0xa4594c59bbc142f3b81c3ecb7f50a7c34bc9af7c4c444b5d48b795427e285913",
"name": "SP1 Turbo Plonk Morph verifier",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5",
"chain": "ethereum"
"address": "eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5"
}
],
"verificationStatus": "unsuccessful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nWe performed the following steps, which according to the Succinct team should have lead to a successful regeneration of the verifier's hash.\nHowever these steps produced a verifier smart contract with `VERIFIER_HASH = 0xf7ba6320608dadd905f3483d51c2fa0fb55473e3136bdfb37c96a10f158ab9fe`, which differs from the value onchain. \n\n1. Create a new `aurel` user on a linux os and login as this user.\n2. Install necessary dependencies: rust, sp1 toolkit, go.\n\n```\nsudo apt update\nsudo apt install build-essential golang-go\n\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\ncargo install --debug --locked cargo-make\n\ncurl -L https://sp1up.succinct.xyz/ | bash\nsp1up\n```\n\n3. Clone sp1 repo in the correct directory, set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n\n```\nmkdir -p dev/sp1-wip/\ncd dev/sp1-wip/\ngit clone https://github.com/succinctlabs/sp1.git\ncd sp1/crates/prover\ngit checkout v5.0.0 # commit should be 38f0f143dece864e8bffafad64196a924f190336\nexport SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n\nmake build-circuits\n```\n "
},
{
"hash": "0xffea2d2e12ed24da258af874d77eee7ee91a1e050ee197052908089e57681e67",
"name": "SP1 Turbo Groth16 v5.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v5.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x045d4BC73Bd1918192f34e98532A5272Ef620423",
"chain": "ethereum"
"address": "eth:0x045d4BC73Bd1918192f34e98532A5272Ef620423"
},
{
"address": "0x5ff102a4A4Ce2040288a797CE4CCCa85eE1E2d70",
"chain": "ethereum"
"address": "eth:0x5ff102a4A4Ce2040288a797CE4CCCa85eE1E2d70"
}
],
"verificationStatus": "notVerified"
}
]
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "base:0x52c901666Cfc8AeE9b46A3b7C101688351529B37",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0x34E6305Fe21a0Ed945177dcD36D7E6084F9f1BcC"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1709680297,
"transactionHash": "0x4566594bfb88df599197022433abb97bca60e2440a8440befa2d6d4eeb5bf167",
"implementations": [
"base:0x34E6305Fe21a0Ed945177dcD36D7E6084F9f1BcC"
]
}
],
"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 Conduit Multisig 3\n * **batcherHash**: EOA 2\n * **owner**: Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x52c901666Cfc8AeE9b46A3b7C101688351529B37#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "base:0x752BE2A1c6DBe40884D7851CDC58c9cA54DCBD3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0x1D9e8EcF1b3D0e773c2dE9f9B864d38322e5adb9"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1709680365,
"transactionHash": "0x356a647542cea792b4465f9e252049a0a338b054224787839dab296a67ef4589",
"implementations": [
"base:0x1D9e8EcF1b3D0e773c2dE9f9B864d38322e5adb9"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3\n * **guardian**: Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x752BE2A1c6DBe40884D7851CDC58c9cA54DCBD3E#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "base:0xCC61c26901E719B73273C1484e337cBAB84369EF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0xA39D53FCa52Efe9a034D1EC61E30151621F9b945"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1709680353,
"transactionHash": "0x38550f715e17517e66a485cef19071067b33a9907fad334e14e4f9b74ddf7fde",
"implementations": [
"base:0xA39D53FCa52Efe9a034D1EC61E30151621F9b945"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3\n * **challenger**: Conduit Multisig 3\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xCC61c26901E719B73273C1484e337cBAB84369EF#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "base:0x727a91e8251A262A4ad5F2D5811c6cD862961759",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0xb079375dDB17FaBae0F3Ed6B9950f6cD626cE2a3"
],
"immutable": false
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1709680215,
"transactionHash": "0xc046607991072863d54134a45616c828b4e3773c03db24ac175061b7c8686971",
"implementations": [
"base:0x727a91e8251A262A4ad5F2D5811c6cD862961759"
]
},
{
"timestamp": 1709680339,
"transactionHash": "0x96c9ee37516c6364471bcb425d12ab64dd1738936c45159e147828304afed9ff",
"implementations": [
"base:0xb079375dDB17FaBae0F3Ed6B9950f6cD626cE2a3"
]
}
],
"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 Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x727a91e8251A262A4ad5F2D5811c6cD862961759#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "base:0xbA256039AEdaD407692D8Deb366308BE6Bb2515C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0xc69e1cbd4D68Fa9588F04030C7c03e1BC38D1Cb1"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xbA256039AEdaD407692D8Deb366308BE6Bb2515C#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x25aBB510386A658c622280f488844BD3b485DC32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: Conduit Multisig 3",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x25aBB510386A658c622280f488844BD3b485DC32#code"
}
]
},
"escrows": [
{
"address": "0x752BE2A1c6DBe40884D7851CDC58c9cA54DCBD3E",
"sinceTimestamp": 1709680185,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "base:0x752BE2A1c6DBe40884D7851CDC58c9cA54DCBD3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0x1D9e8EcF1b3D0e773c2dE9f9B864d38322e5adb9"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1709680365,
"transactionHash": "0x356a647542cea792b4465f9e252049a0a338b054224787839dab296a67ef4589",
"implementations": [
"base:0x1D9e8EcF1b3D0e773c2dE9f9B864d38322e5adb9"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x752BE2A1c6DBe40884D7851CDC58c9cA54DCBD3E#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xbA256039AEdaD407692D8Deb366308BE6Bb2515C",
"sinceTimestamp": 1709680203,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "base:0xbA256039AEdaD407692D8Deb366308BE6Bb2515C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x25aBB510386A658c622280f488844BD3b485DC32"
],
"implementations": [
"base:0xc69e1cbd4D68Fa9588F04030C7c03e1BC38D1Cb1"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xbA256039AEdaD407692D8Deb366308BE6Bb2515C#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Starknet",
"isVerified": true,
"address": "eth:0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361",
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c"
],
"implementations": [
"eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1636979180,
"transactionHash": "0xccde4b2c417c0361ca34b8896ff8ee8a471aeab423613db8175463d903d4c2fe",
"implementations": [
"eth:0xD8Cd77206fCb239BdDaaDDdA8C87CBFe7d67Ca2b"
]
},
{
"timestamp": 1643193921,
"transactionHash": "0xf928abd9eb81afac14d1e8f76a52de80f9c38cbe0e72d2f1ec922caf7bf1cad0",
"implementations": [
"eth:0x944960b90381d76368aecE61F269bD99FFfd627e"
]
},
{
"timestamp": 1647853574,
"transactionHash": "0x4e551f471810ea806502b1e24f9ef6793f0a0b68f24c3cdec44df444921d7689",
"implementations": [
"eth:0xDC109C4a1A3084Ed15A97692FBEF3e1FB32A6955"
]
},
{
"timestamp": 1655284858,
"transactionHash": "0x65e31a14e45c3f909c1f90e67b3bb9a54e256d28cb8a27432f73268a19ebab84",
"implementations": [
"eth:0x2B3B750f1f10c85c8A6D476Fc209A8DC7E4Ca3F8"
]
},
{
"timestamp": 1662879548,
"transactionHash": "0x6f7ff0be4f155165290702052683f0a87b5e660812949c6e10eac6602c6aa5e7",
"implementations": [
"eth:0xE267213B0749Bb94c575F6170812c887330d9cE3"
]
},
{
"timestamp": 1680085307,
"transactionHash": "0x861257880dfe325f603d4371a10888daa8fb0a16c205bb43647e8c5547298e36",
"implementations": [
"eth:0x739A654271c565839F0408546706bBea2F1FfE42"
]
},
{
"timestamp": 1684906283,
"transactionHash": "0x640cb38b6ffa91068da7cc15730268402661ec3f62f084b2a58522f600d89277",
"implementations": [
"eth:0x16938E4b59297060484Fa56a12594d8D6F4177e8"
]
},
{
"timestamp": 1710252923,
"transactionHash": "0xb9cd560bbc6f0478eeb5bed042a06d988ef6ebfd1cc9bfb509b4d8202b517ecc",
"implementations": [
"eth:0x6E0aCfDC3cf17A7f99ed34Be56C3DFb93F464e24"
]
},
{
"timestamp": 1724855579,
"transactionHash": "0x4186d705e39a8e7cb19069c9426e4b211fad28f97cb7f641e4bd240971318e8d",
"implementations": [
"eth:0x47103A9b801eB6a63555897d399e4b7c1c8Eb5bC"
]
},
{
"timestamp": 1742836319,
"transactionHash": "0x7e6e541652c8ed05afba0c7fd372d6a340d438d85a545666ee7ecd1a4046eb5b",
"implementations": [
"eth:0x2793010E6711Acd5C46ed17f2183a9d58db71e04"
]
}
],
"description": "Central rollup contract. Receives (verified) state roots from the Sequencer, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: DelayedExecutor, Starkware Security Council; ultimately Starkware Multisig 1\n * **operators**: EOA 3, Starkware SCMinority Multisig",
"upgradableBy": [
{
"name": "Starkware Security Council",
"delay": "no"
},
{
"name": "Starkware Multisig 1",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc662c410C0ECf747543f5bA90660f6ABeBD9C8c4#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "DelayedExecutor",
"isVerified": true,
"address": "eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A simple Timelock contract with an immutable delay of 8d. The owner (Starkware Multisig 1) can queue transactions.\n* Roles:\n * **owner**: Starkware Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCA112018fEB729458b628AadC8f996f9deCbCa0c#code"
},
{
"name": "ETHBridge",
"isVerified": true,
"address": "eth:0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1647857960,
"transactionHash": "0x4c7952f4056367ec557d94b41d0784b7eb247d1f9de7378bdff7a5218c85314d",
"implementations": [
"eth:0x0205172F25e791975edB4dEF203f3789B01f43bb"
]
},
{
"timestamp": 1649596101,
"transactionHash": "0x9b76ede78b75c332ea2ae855b62a2363c197ee521522ab1a14aa5517f2610dd5",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0xa31315fda290a9ee1abf459ba81a8c5986c5c9da58cda4c20a144ab16e3a9ba1",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1680016103,
"transactionHash": "0x826f7e63249e192040d6b9301a68a0c7fc1130d06339ab0c758ff14799f9adfb",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707738959,
"transactionHash": "0x1f56cc90fd40bcc00a27f94c989e93cb414a884e2fe971323426f40d58c71306",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
}
],
"description": "Standard Starkware canonical bridge escrow for ETH. Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: DelayedExecutor, Starkware Security Council; ultimately Starkware Multisig 1\n * **govAdmin**: Starkware Security Council\n * **secAdmin**: Starkware SCMinority Multisig\n * **secAgent**: EOA 5, Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Security Council",
"delay": "no"
},
{
"name": "Starkware Multisig 1",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419#code"
},
{
"name": "LORDSBridge",
"isVerified": true,
"address": "eth:0x023A2aAc5d0fa69E3243994672822BA43E34E5C9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Custom (and immutable) entry point contract and escrow for users depositing LORDS to via StarkGate to the L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x023A2aAc5d0fa69E3243994672822BA43E34E5C9#code"
},
{
"name": "StarkgateRegistry",
"isVerified": true,
"address": "eth:0x1268cc171c54F2000402DfF20E93E60DF4c96812",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x39C3b4e670ACa8BC668e5A79680973e57a4C8CEC"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1707325511,
"transactionHash": "0x54e1021653aaca692f4ead2a85e5bd32648919d01953e88693a833d45c583fab",
"implementations": [
"eth:0x642F04899B6cA155c2a5eAdD4e4ed634f1B07Dd7"
]
},
{
"timestamp": 1740918611,
"transactionHash": "0x86ccb24833adb42f79ff55fcce4e69508e467df41c653a1b2578b5f2788f3c0c",
"implementations": [
"eth:0x39C3b4e670ACa8BC668e5A79680973e57a4C8CEC"
]
}
],
"description": "A simple registry that maps tokens to their StarkGate escrows. It also keeps a list of tokens that are blocked from being added to StarkGate.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1268cc171c54F2000402DfF20E93E60DF4c96812#code"
},
{
"name": "WBTCBridge",
"isVerified": true,
"address": "eth:0x283751A21eafBFcD52297820D27C1f1963D9b5b4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657138806,
"transactionHash": "0xeedccfe88453ea74a342ca57926a88b6033057eb15b43291332f0fa19c197eee",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630577,
"transactionHash": "0xc450cc918a45c46057f13a072c41a646e78f52af5e36f82b7061b478e44b7fb3",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x5bc722c79d5a4303b76638f6fc75d26c5dbfba39202c2a7ced89b96d3ead97e7",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016007,
"transactionHash": "0xb638d945b6a6feba94d6219f1618a6e279720e105d4476db19063abd4164117f",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707731699,
"transactionHash": "0x426174e7e63465569d28b3ca3e807e69859f9a2650702487260b9a45646d5f32",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1768834883,
"transactionHash": "0xdb7a4f9c3e38994d167d6943b6b7f247972ac3c7564febba428a407cf0e89e5b",
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
]
}
],
"description": "Haltable version of the Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually. Deposits for a particular token can be halted by app governor, halt must be finalized in the second transaction that also sweeps all funds into a clrearing address. There is no logic to resume bridging after the halt.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x283751A21eafBFcD52297820D27C1f1963D9b5b4#code"
},
{
"name": "FXSBridge",
"isVerified": true,
"address": "eth:0x66ba83ba3D3AD296424a2258145d9910E9E40B7C",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x8a85416efb74a9a7b95f6596bbcf947bdea2e1664c1401fee191dbc35ed63b9e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x66ba83ba3D3AD296424a2258145d9910E9E40B7C#code"
},
{
"name": "LBTCBridge",
"isVerified": true,
"address": "eth:0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xF689688640E88160c07C6FC5cc63039F29EDe86b"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1757941451,
"transactionHash": "0x503782544b4f41c5e38d13ba7e96e5dd4fb597abb7a595a7da2af8ddfaface58",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually.\n* Roles:\n * **admin**: EOA 6\n * **govAdmin**: EOA 6\n * **secAdmin**: EOA 6",
"upgradableBy": [
{
"id": "EOA-6",
"name": "EOA 6",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e#code"
},
{
"name": "L1DaiGateway",
"isVerified": true,
"address": "eth:0x9F96fE0633eE838D0298E8b8980E6716bE81388d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Gateway contract that is the user entrypoint to deposit DAI to a custom escrow to bridge via StarkGate.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F96fE0633eE838D0298E8b8980E6716bE81388d#code"
},
{
"name": "SolvBTCBridge",
"isVerified": true,
"address": "eth:0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750862507,
"transactionHash": "0x9529b94a823908b9a8c9097a89ef76e034740a971363e3f7913f4971eb3633e3",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768493183,
"transactionHash": "0x27532d9c2db25f9d053fe4246f83a8c719a0d0b000a9d0e9f1e7dae1e05f287a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
},
{
"timestamp": 1768493315,
"transactionHash": "0x787522b1ecf6f59d77fdd6278cf3d92f7b28cc292264e5f7ae9ef93c1344d587",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768831679,
"transactionHash": "0xa0ae9228abd03f1701caf995520b4ad4f9998bf46376e5f8cea39a24d0ee461a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
}
],
"description": "Haltable version of the Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually. Deposits for a particular token can be halted by app governor, halt must be finalized in the second transaction that also sweeps all funds into a clrearing address. There is no logic to resume bridging after the halt.\n* Roles:\n * **admin**: EOA 4\n * **govAdmin**: EOA 4\n * **secAdmin**: EOA 4",
"upgradableBy": [
{
"id": "EOA-4",
"name": "EOA 4",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10#code"
},
{
"name": "USDTBridge",
"isVerified": true,
"address": "eth:0xbb3400F107804DFB482565FF1Ec8D8aE66747605",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x3e25166c11d40ded7d1ae272a9e4eb416b2d35a8f4919ca0a07c55f0065de787",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x55d370d26d45d7aee7f06e7f741d5f0d37154889faa1fa4e393370cae31a0f0f",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x33fdbe5a0d1ba784eb5e2f0f34b42d57c5c2b6b0bd3562746c7ee0447f7767aa",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0xac209ae933b3ae24348f926df5f8978093617c711baaceefa21b90c08c82a0af",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732815,
"transactionHash": "0xe594bd2581f3da0e554ad8664aecc1441280850cc7827a9e42d172bbf54cac5d",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbb3400F107804DFB482565FF1Ec8D8aE66747605#code"
},
{
"name": "wstETHBridge",
"isVerified": true,
"address": "eth:0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685453471,
"transactionHash": "0xb4de1aa42c3ade894dd66e06e6125549e8004d2d6857cf456ef5bde3f583ea7c",
"implementations": [
"eth:0xEf3525a1081a4cf6f76E0B202a575195cEE083a2"
]
},
{
"timestamp": 1707416015,
"transactionHash": "0x4eb13c68776e5aa840ab59c3c4ff369372fd461bab760eee12d1ae7ccf7baa6e",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B#code"
},
{
"name": "STRKBridge",
"isVerified": true,
"address": "eth:0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704907283,
"transactionHash": "0x4ea20358347292f048a26277477a9f145add434e50e3f64c85f494469768c876",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1705239263,
"transactionHash": "0x42056631084f574f2ed5f49bef3d1aabab22008266ac97afea3e5f42649bd7c3",
"implementations": [
"eth:0x052C81F05595B5DeF4fdFEdbD7CA7b4A8a7B50C1"
]
},
{
"timestamp": 1705249823,
"transactionHash": "0xe8154cce45dafa5cfcb95d134f3da8a13c80c6546da07ca92c88d5c54286cdc3",
"implementations": [
"eth:0x7f2a18900A978D4390a3640e34739BB697777A71"
]
},
{
"timestamp": 1707751031,
"transactionHash": "0x7c5561efa149f2be36fac917f47b0b107218b43de1eac56ceb97d008257bd850",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1739105903,
"transactionHash": "0xccb802ed2caee6856e9141983a642a0d4881cd64a209436d3fdeb4776c841175",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: DelayedExecutor, Starkware Security Council; ultimately Starkware Multisig 1\n * **govAdmin**: Starkware Security Council\n * **secAdmin**: Starkware SCMinority Multisig\n * **secAgent**: EOA 5, Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Security Council",
"delay": "no"
},
{
"name": "Starkware Multisig 1",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4#code"
},
{
"name": "rETHBridge",
"isVerified": true,
"address": "eth:0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685882531,
"transactionHash": "0x90d66157a3812393338739b0ee7a84d0d310b72a8282946e5874824c60d30c51",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707431855,
"transactionHash": "0x5420188e3cc869219076d140de7359aa4b930c51263c00728bb81e3a68c1ba8c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2#code"
},
{
"name": "sfrxETHBridge",
"isVerified": true,
"address": "eth:0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x368efd40dcf16ad376c8f38adf1e68361874e2b5b2de52d7088cd7de6b38f02a",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8#code"
},
{
"name": "FRAXBridge",
"isVerified": true,
"address": "eth:0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x591030492947a546e11122e42c12975237d800d3d509d284b9c8aaf541dbdc79",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb#code"
},
{
"name": "LUSDBridge",
"isVerified": true,
"address": "eth:0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1688046899,
"transactionHash": "0xa67fa2a98e3b92d67fe9ea402dd53955fc2d74f6af3ee0183e20afad68ac5621",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707433079,
"transactionHash": "0x1157d4bd2b7d00a0f9833ef0832822bc331d5f904c0c3f9f14fa7942678fbf58",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835007,
"transactionHash": "0x4a1c60505d4d6d22f51b164696b7eadba1955278a577c7e712b2cd0347bee330",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: EOA 4\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"id": "EOA-4",
"name": "EOA 4",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5#code"
},
{
"name": "MultiBridge",
"isVerified": true,
"address": "eth:0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1707325571,
"transactionHash": "0x52b4a75a83546e4e463a919cf778cb9a4882d536c4bf7b80a62098698c741fd8",
"implementations": [
"eth:0x594cCaDF93F860dc42Cf9fd7bCea47Ff4d135D7A"
]
},
{
"timestamp": 1740918611,
"transactionHash": "0x86ccb24833adb42f79ff55fcce4e69508e467df41c653a1b2578b5f2788f3c0c",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "Starkware Multibridge escrow. Withdrawals can be throttled to 5% of the locked funds per 24 hours for each token individually.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **manager**: StarkgateManager\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb#code"
},
{
"name": "USDCBridge",
"isVerified": true,
"address": "eth:0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x7fee1d4145372b9f1a39594bc71c9074f5982c5c546135c1aba6810c5c33cd15",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x8c5f529b4aea40150673a24be2daf67b98dfea900848e2e4bfe863b29397cb16",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x100be562b99e029f2419718dfa5e722c6d27cd99e9e5fbbd61dbda223d8872c2",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0x1c54434b6dab2c13187d16161d7da8b6286b4f71d3ff3ab580ffcc90ac387d31",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732959,
"transactionHash": "0x147393fe2175d3bd2a267730c8066afd475199c52a1895b5524100c3b2ca2c07",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2\n * **secAgent**: Starkware Multisig 4; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816#code"
},
{
"name": "UNIBridge",
"isVerified": true,
"address": "eth:0xf76e6bF9e2df09D0f854F045A3B724074dA1236B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1698061943,
"transactionHash": "0x9e8cd16d463bff3aaa9aca2f741819ccdba2148450f935446facdb498a424a1e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707432767,
"transactionHash": "0x2513dff6fab1fe6b7f95d9e436c18c8dd79965a3c7217f79c69787b2f42abc4a",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835031,
"transactionHash": "0x80c2489d99e1aa4593e1749d905120a22bc688a8c62343edce82130c4566de72",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "Standard Starkware bridge escrow (single token). Withdrawals can be throttled to 5% of the locked funds per 24 hours.\n* Roles:\n * **admin**: Starkware Multisig 2\n * **govAdmin**: Starkware Multisig 2\n * **secAdmin**: Starkware Multisig 2",
"upgradableBy": [
{
"name": "Starkware Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf76e6bF9e2df09D0f854F045A3B724074dA1236B#code"
},
{
"name": "DAIBridge",
"isVerified": true,
"address": "eth:0x0437465dfb5B79726e35F08559B0cBea55bb585C",
"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/0x0437465dfb5B79726e35F08559B0cBea55bb585C#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"sinceTimestamp": 1647857148,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1647857960,
"transactionHash": "0x4c7952f4056367ec557d94b41d0784b7eb247d1f9de7378bdff7a5218c85314d",
"implementations": [
"eth:0x0205172F25e791975edB4dEF203f3789B01f43bb"
]
},
{
"timestamp": 1649596101,
"transactionHash": "0x9b76ede78b75c332ea2ae855b62a2363c197ee521522ab1a14aa5517f2610dd5",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0xa31315fda290a9ee1abf459ba81a8c5986c5c9da58cda4c20a144ab16e3a9ba1",
"implementations": [
"eth:0x5e70F3301bbBBB1DFA2c8d20D75b162aFa6Dbe37"
]
},
{
"timestamp": 1680016103,
"transactionHash": "0x826f7e63249e192040d6b9301a68a0c7fc1130d06339ab0c758ff14799f9adfb",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x455603AD9ae671F6c1f0f746F24d7904cA603581"
]
},
{
"timestamp": 1707738959,
"transactionHash": "0x1f56cc90fd40bcc00a27f94c989e93cb414a884e2fe971323426f40d58c71306",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x95ff25A59Dc9c5A41cF0709dc916041E5dC7fd95"
]
}
],
"description": "StarkGate bridge for ETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xae0Ee0A63A2cE6BaeEFFE56e7714FB4EFE48D419#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x0437465dfb5B79726e35F08559B0cBea55bb585C",
"sinceTimestamp": 1652101033,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0x0437465dfb5B79726e35F08559B0cBea55bb585C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DAI Vault for custom DAI Gateway managed by MakerDAO. The current bridge cap is 5.00 M DAI.",
"url": "https://etherscan.io/address/0x0437465dfb5B79726e35F08559B0cBea55bb585C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x283751A21eafBFcD52297820D27C1f1963D9b5b4",
"sinceTimestamp": 1657137600,
"tokens": [
"WBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x283751A21eafBFcD52297820D27C1f1963D9b5b4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657138806,
"transactionHash": "0xeedccfe88453ea74a342ca57926a88b6033057eb15b43291332f0fa19c197eee",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630577,
"transactionHash": "0xc450cc918a45c46057f13a072c41a646e78f52af5e36f82b7061b478e44b7fb3",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x5bc722c79d5a4303b76638f6fc75d26c5dbfba39202c2a7ced89b96d3ead97e7",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016007,
"transactionHash": "0xb638d945b6a6feba94d6219f1618a6e279720e105d4476db19063abd4164117f",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707731699,
"transactionHash": "0x426174e7e63465569d28b3ca3e807e69859f9a2650702487260b9a45646d5f32",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1768834883,
"transactionHash": "0xdb7a4f9c3e38994d167d6943b6b7f247972ac3c7564febba428a407cf0e89e5b",
"implementations": [
"eth:0xE0D1fab527A85D955d4c05323250367E61bA3f18"
]
}
],
"description": "StarkGate bridge for WBTC. The bridge is halted and WBTC migrated to external OFT bridging.",
"url": "https://etherscan.io/address/0x283751A21eafBFcD52297820D27C1f1963D9b5b4#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"untilTimestamp": 1768848455,
"chainId": 1
},
{
"address": "0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816",
"sinceTimestamp": 1657137639,
"tokens": [],
"contract": {
"isVerified": true,
"address": "eth:0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x7fee1d4145372b9f1a39594bc71c9074f5982c5c546135c1aba6810c5c33cd15",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x8c5f529b4aea40150673a24be2daf67b98dfea900848e2e4bfe863b29397cb16",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x100be562b99e029f2419718dfa5e722c6d27cd99e9e5fbbd61dbda223d8872c2",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0x1c54434b6dab2c13187d16161d7da8b6286b4f71d3ff3ab580ffcc90ac387d31",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732959,
"transactionHash": "0x147393fe2175d3bd2a267730c8066afd475199c52a1895b5524100c3b2ca2c07",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for USDC. There is no bridge cap.",
"url": "https://etherscan.io/address/0xF6080D9fbEEbcd44D89aFfBFd42F098cbFf92816#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xbb3400F107804DFB482565FF1Ec8D8aE66747605",
"sinceTimestamp": 1657137615,
"tokens": [
"USDT"
],
"contract": {
"isVerified": true,
"address": "eth:0xbb3400F107804DFB482565FF1Ec8D8aE66747605",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1657139268,
"transactionHash": "0x3e25166c11d40ded7d1ae272a9e4eb416b2d35a8f4919ca0a07c55f0065de787",
"implementations": [
"eth:0xaec1fB35875a3816a5d09D61F086FeB6c252e096"
]
},
{
"timestamp": 1657630654,
"transactionHash": "0x55d370d26d45d7aee7f06e7f741d5f0d37154889faa1fa4e393370cae31a0f0f",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1668953231,
"transactionHash": "0x33fdbe5a0d1ba784eb5e2f0f34b42d57c5c2b6b0bd3562746c7ee0447f7767aa",
"implementations": [
"eth:0x56e233d613743297CdD27fafc5c1f5c1DC2a381b"
]
},
{
"timestamp": 1680016067,
"transactionHash": "0xac209ae933b3ae24348f926df5f8978093617c711baaceefa21b90c08c82a0af",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707387203,
"transactionHash": "0x64910ea21a212ae671687842ec3c4fcd187e935ddf2d6cc90f41b6d99b592964",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707732815,
"transactionHash": "0xe594bd2581f3da0e554ad8664aecc1441280850cc7827a9e42d172bbf54cac5d",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for USDT. There is no bridge cap.",
"url": "https://etherscan.io/address/0xbb3400F107804DFB482565FF1Ec8D8aE66747605#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B",
"sinceTimestamp": 1657137623,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685453471,
"transactionHash": "0xb4de1aa42c3ade894dd66e06e6125549e8004d2d6857cf456ef5bde3f583ea7c",
"implementations": [
"eth:0xEf3525a1081a4cf6f76E0B202a575195cEE083a2"
]
},
{
"timestamp": 1707416015,
"transactionHash": "0x4eb13c68776e5aa840ab59c3c4ff369372fd461bab760eee12d1ae7ccf7baa6e",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for wstETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xBf67F59D2988A46FBFF7ed79A621778a3Cd3985B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2",
"sinceTimestamp": 1657137623,
"tokens": [
"rETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1685882531,
"transactionHash": "0x90d66157a3812393338739b0ee7a84d0d310b72a8282946e5874824c60d30c51",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707431855,
"transactionHash": "0x5420188e3cc869219076d140de7359aa4b930c51263c00728bb81e3a68c1ba8c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for rETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xcf58536D6Fab5E59B654228a5a4ed89b13A876C2#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xf76e6bF9e2df09D0f854F045A3B724074dA1236B",
"sinceTimestamp": 1698061847,
"tokens": [
"UNI"
],
"contract": {
"isVerified": true,
"address": "eth:0xf76e6bF9e2df09D0f854F045A3B724074dA1236B",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1698061943,
"transactionHash": "0x9e8cd16d463bff3aaa9aca2f741819ccdba2148450f935446facdb498a424a1e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707432767,
"transactionHash": "0x2513dff6fab1fe6b7f95d9e436c18c8dd79965a3c7217f79c69787b2f42abc4a",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835031,
"transactionHash": "0x80c2489d99e1aa4593e1749d905120a22bc688a8c62343edce82130c4566de72",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for UNI. There is no bridge cap.",
"url": "https://etherscan.io/address/0xf76e6bF9e2df09D0f854F045A3B724074dA1236B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb",
"sinceTimestamp": 1692689255,
"tokens": [
"FRAX.legacy"
],
"contract": {
"isVerified": true,
"address": "eth:0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x591030492947a546e11122e42c12975237d800d3d509d284b9c8aaf541dbdc79",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for FRAX. There is no bridge cap.",
"url": "https://etherscan.io/address/0xDc687e1E0B85CB589b2da3C47c933De9Db3d1ebb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0x66ba83ba3D3AD296424a2258145d9910E9E40B7C",
"sinceTimestamp": 1692689267,
"tokens": [
"FRAX"
],
"contract": {
"isVerified": true,
"address": "eth:0x66ba83ba3D3AD296424a2258145d9910E9E40B7C",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x8a85416efb74a9a7b95f6596bbcf947bdea2e1664c1401fee191dbc35ed63b9e",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for FRAX (prev. FXS). There is no bridge cap.",
"url": "https://etherscan.io/address/0x66ba83ba3D3AD296424a2258145d9910E9E40B7C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8",
"sinceTimestamp": 1692689279,
"tokens": [
"sfrxETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1692793367,
"transactionHash": "0x368efd40dcf16ad376c8f38adf1e68361874e2b5b2de52d7088cd7de6b38f02a",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707646139,
"transactionHash": "0x083f442a6f6154d565fca76e15e4b7ff09a9ca6fc8efec588139a52896e67d4c",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for sfrxETH. There is no bridge cap.",
"url": "https://etherscan.io/address/0xd8E8531fdD446DF5298819d3Bc9189a5D8948Ee8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5",
"sinceTimestamp": 1688046071,
"tokens": [
"LUSD"
],
"contract": {
"isVerified": true,
"address": "eth:0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1688046899,
"transactionHash": "0xa67fa2a98e3b92d67fe9ea402dd53955fc2d74f6af3ee0183e20afad68ac5621",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1707433079,
"transactionHash": "0x1157d4bd2b7d00a0f9833ef0832822bc331d5f904c0c3f9f14fa7942678fbf58",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835007,
"transactionHash": "0x4a1c60505d4d6d22f51b164696b7eadba1955278a577c7e712b2cd0347bee330",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for LUSD. There is no bridge cap.",
"url": "https://etherscan.io/address/0xF3F62F23dF9C1D2C7C63D9ea6B90E8d24c7E3DF5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0x023A2aAc5d0fa69E3243994672822BA43E34E5C9",
"sinceTimestamp": 1687524587,
"tokens": [
"LORDS"
],
"contract": {
"isVerified": true,
"address": "eth:0x023A2aAc5d0fa69E3243994672822BA43E34E5C9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "StarkGate bridge for LORDS.",
"url": "https://etherscan.io/address/0x023A2aAc5d0fa69E3243994672822BA43E34E5C9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"sinceTimestamp": 1704905879,
"tokens": [
"STRK"
],
"contract": {
"isVerified": true,
"address": "eth:0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xCA112018fEB729458b628AadC8f996f9deCbCa0c",
"eth:0x15e8c684FD095d4796A0c0CF678554F4c1C7C361"
],
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704907283,
"transactionHash": "0x4ea20358347292f048a26277477a9f145add434e50e3f64c85f494469768c876",
"implementations": [
"eth:0x6Fa346c1e77C17d7976Bf1EFE2b121E845f15FEB"
]
},
{
"timestamp": 1705239263,
"transactionHash": "0x42056631084f574f2ed5f49bef3d1aabab22008266ac97afea3e5f42649bd7c3",
"implementations": [
"eth:0x052C81F05595B5DeF4fdFEdbD7CA7b4A8a7B50C1"
]
},
{
"timestamp": 1705249823,
"transactionHash": "0xe8154cce45dafa5cfcb95d134f3da8a13c80c6546da07ca92c88d5c54286cdc3",
"implementations": [
"eth:0x7f2a18900A978D4390a3640e34739BB697777A71"
]
},
{
"timestamp": 1707751031,
"transactionHash": "0x7c5561efa149f2be36fac917f47b0b107218b43de1eac56ceb97d008257bd850",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1713709115,
"transactionHash": "0xd25ca910a4b7d0bab41828bce014a70f75642449f7c0426a3849ad46a6e60364",
"implementations": [
"eth:0x179FA59e4D19ac7C7b4e3daa0Cd6557a553656A0"
]
},
{
"timestamp": 1728835151,
"transactionHash": "0xcd8680d72a4b8e347cd5036a1f2ac89b3e106f7c82d705d3cfc35bb6e849d026",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1739105903,
"transactionHash": "0xccb802ed2caee6856e9141983a642a0d4881cd64a209436d3fdeb4776c841175",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
},
{
"timestamp": 1746967799,
"transactionHash": "0xf0fc6787173f9e4ee964487191601bf84e443f30192c896849df7fd12dfa1a95",
"implementations": [
"eth:0x6ad74D4B79A06A492C288eF66Ef868Dd981fdC85"
]
}
],
"description": "StarkGate bridge for STRK. There is no bridge cap.",
"url": "https://etherscan.io/address/0xcE5485Cfb26914C5dcE00B9BAF0580364daFC7a4#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb",
"sinceTimestamp": 1707322643,
"tokens": [
"EKUBO",
"ZEND",
"NSTR"
],
"contract": {
"isVerified": true,
"address": "eth:0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x015277f49d5dD035A5F3Ce34aD5eBfDBaCA0C6Ec"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1707325571,
"transactionHash": "0x52b4a75a83546e4e463a919cf778cb9a4882d536c4bf7b80a62098698c741fd8",
"implementations": [
"eth:0x594cCaDF93F860dc42Cf9fd7bCea47Ff4d135D7A"
]
},
{
"timestamp": 1740918611,
"transactionHash": "0x86ccb24833adb42f79ff55fcce4e69508e467df41c653a1b2578b5f2788f3c0c",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "StarkGate bridge for EKUBO, ZEND, NSTR (and potentially other tokens listed via StarkgateManager).",
"url": "https://etherscan.io/address/0xF5b6Ee2CAEb6769659f6C091D209DfdCaF3F69Eb#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
},
{
"address": "0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10",
"sinceTimestamp": 1750859519,
"tokens": [
"SolvBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x5751a83170BeA11fE7CdA5D599B04153C021f21A"
],
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750862507,
"transactionHash": "0x9529b94a823908b9a8c9097a89ef76e034740a971363e3f7913f4971eb3633e3",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768493183,
"transactionHash": "0x27532d9c2db25f9d053fe4246f83a8c719a0d0b000a9d0e9f1e7dae1e05f287a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
},
{
"timestamp": 1768493315,
"transactionHash": "0x787522b1ecf6f59d77fdd6278cf3d92f7b28cc292264e5f7ae9ef93c1344d587",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
},
{
"timestamp": 1768831679,
"transactionHash": "0xa0ae9228abd03f1701caf995520b4ad4f9998bf46376e5f8cea39a24d0ee461a",
"implementations": [
"eth:0x205Fef0daB48D83CbA6888C5F050FeE36C4762B7"
]
}
],
"description": "StarkGate bridge for SolvBTC. The bridge is halted and SolvBTC migrated to external OFT bridging.",
"url": "https://etherscan.io/address/0xA86b9b9c58d4f786F8ea89356c9c9Dde9432Ab10#code"
},
"chain": "ethereum",
"includeInTotal": true,
"untilTimestamp": 1768848971,
"chainId": 1
},
{
"address": "0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e",
"sinceTimestamp": 1757941367,
"tokens": [
"LBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xF689688640E88160c07C6FC5cc63039F29EDe86b"
],
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1757941451,
"transactionHash": "0x503782544b4f41c5e38d13ba7e96e5dd4fb597abb7a595a7da2af8ddfaface58",
"implementations": [
"eth:0xf39d314C5aD7DC88958116dfA7d5ac095d563Aff"
]
}
],
"description": "StarkGate bridge for LBTC.",
"url": "https://etherscan.io/address/0x96C8AE2AC9A5cd5fC354e375dB4d0ca75fc0685e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Starknet OS",
"proverSystemProject": "stwo",
"description": "Proves correct state transition for a range of consecutive Starknet transactions.",
"programUrl": "https://github.com/starkware-libs/sequencer/blob/9b4f27df41e8c45aeeb155d4fe84a1df18a8358a/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/os/os.cairo#L69",
"verificationStatus": "successful",
"verificationSteps": "\n1. Install python and pip.\n2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.\n3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout 9b4f27df41e8c45aeeb155d4fe84a1df18a8358a`.\n4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`.\n5. Run `UPDATE_EXPECT=1 cargo test -p apollo_starknet_os_program test_program_hashes` to regenerate program hashes in `crates/apollo_starknet_os_program/src/program_hash.json`. The `\"os\"` value of this file will be equivalent to dec value of the hash.\n ",
"hash": "918745833886511857768061986591752808672496300091957204265383861063635175685"
},
{
"title": "Aggregation program for SHARP prover",
"description": "Aggregates proofs of correct execution for several consecutive transaction ranges generated by StarkNet OS.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/sequencer/blob/9b4f27df41e8c45aeeb155d4fe84a1df18a8358a/crates/apollo_starknet_os_program/src/cairo/starkware/starknet/core/aggregator/main.cairo#L15",
"verificationStatus": "successful",
"verificationSteps": "\n1. Install python and pip.\n2. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`.\n3. Checkout the correct version of [https://github.com/starkware-libs/sequencer/tree/main](https://github.com/starkware-libs/sequencer/tree/main): `git checkout 9b4f27df41e8c45aeeb155d4fe84a1df18a8358a`.\n4. Install required python dependencies: `python3 -m venv sequencer_venv`, then `. sequencer_venv/bin/activate && pip install -r scripts/requirements.txt`.\n5. Run `UPDATE_EXPECT=1 cargo test -p apollo_starknet_os_program test_program_hashes` to regenerate program hashes in `crates/apollo_starknet_os_program/src/program_hash.json`. The `\"aggregator_with_prefix\"` value of this file will be equivalent to dec value of the hash.\n ",
"hash": "1701025211190912681772481128523426351562426117847395998223683709327746845867"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"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:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934"
]
}
+1 -2
+1 -2
{
"creator": "Starkware",
"projectsForTvs": [
{
"projectId": "starknet",
"sinceTimestamp": 1638140400,
"untilTimestamp": 1760824800
},
{
"projectId": "paradex",
"sinceTimestamp": 1696111200,
"untilTimestamp": 1763997779
},
{
"projectId": "immutablex",
"sinceTimestamp": 1617832800,
"untilTimestamp": 1772672831
},
{
"projectId": "sorare",
"sinceTimestamp": 1627250400
},
{
"projectId": "brine",
"sinceTimestamp": 1682546400
},
{
"projectId": "myria",
"sinceTimestamp": 1661464800
},
{
"projectId": "deversifi",
"sinceTimestamp": 1591135200
},
{
"projectId": "dydx",
"sinceTimestamp": 1617660000
},
{
"projectId": "edgex",
"sinceTimestamp": 1722636000
},
{
"projectId": "layer2financezk",
"sinceTimestamp": 1645130774
}
],
"proofSystemInfo": "\n \n ## Description\n\n Stone is a STARK proof system that is designed to prove the execution of programs written in [Cairo language](https://www.starknet.io/cairo-book/title-page.html) and compiled into Cairo assembly (cASM) byte code. This ISA is highly optimized for the performance of zkVM proving. Stone verifies STARK proofs directly onchain without any final SNARK wraps and thus requires no trusted setup. Stone targets 80 bits of security (e.g. see constructor params on [this contract](https://etherscan.io/address/0x3d57526c1C8D63fa2A8704487Df65e9000166c8E#code)).\n\n ## Proof system\n\n Stone is a Cairo-based zkVM with AIR arithmetization over [felt252 field](https://docs.starknet.io/archive/cairo-101/felt/) and FRI-based commitment. The protocol makes use of recursive proof aggregation among many projects utilizing the CairoVM (i.e. Starknet forks and StarkEx systems) using SHARP. Some documentation on the aggregation scheme can be found [here](https://docs.starknet.io/architecture/sharp/) and the Cairo verifier implemented in Cairo can be found [here](https://github.com/starkware-libs/cairo-lang/tree/v0.13.1/src/starkware/cairo/cairo_verifier/layouts/all_cairo).\n\n ### StarkNet Operating System (SNOS)\n\n The base layer of Stone proving is a Cairo program called [SNOS](https://docs.starknet.io/architecture/os/) that proves the correct STF from one state to another given the list of transactions. SNOS execution includes checking transaction inputs (e.g. state), executing transactions and processing state diffs. The source code of the Starknet OS can be found [here](https://github.com/starkware-libs/cairo-lang/tree/ee7ce74e1159a349d4b77a5f952241b50b1692de/src/starkware/starknet/core/os).\n\n ### Recursive aggregation\n\n Proofs of SNOS executions of several consecutive blocks are recursively aggregated. The correctness of this aggregation is checked by [applicative bootloader](https://github.com/starkware-libs/cairo-lang/blob/8e11b8cc65ae1d0959328b1b4a40b92df8b58595/src/starkware/cairo/bootloaders/applicative_bootloader/applicative_bootloader.cairo#L15) program, which also verifies the correct relation of corresponding SNOS inputs and outputs. Applicative bootloader proofs are aggregated across several blockchains and proven by [SHARP](https://docs.starknet.io/architecture/sharp/#what_is_sharp). The SHARP STARK proof is verified onchain without any SNARK wraps.\n ",
"techStack": {
"zkVM": [
{
"id": "Stone",
"type": "STARK",
"name": "Stone",
"description": "zkVM STARK proving system developed by Starkware for Cairo programs, including state transition of Starknet."
},
{
"id": "CASM",
"type": "ISA",
"name": "Cairo ASM",
"description": "Instruction language for Cairo VM developed by Starkware."
},
{
"id": "felt252",
"type": "Field",
"name": "felt252",
"description": "Prime field of order p = 2**251 + 17 * 2**192 + 1."
}
]
},
"trustedSetups": [
{
"id": "TransparentSetup",
"name": "Transparent setup",
"risk": "N/A",
"shortDescription": "No trusted setup and no additional setup-related trust assumptions.",
"longDescription": "Transparent proving systems require no trusted setups and have no additional setup-related trust assumptions.",
"proofSystem": {
"id": "Stone",
"type": "STARK",
"name": "Stone",
"description": "zkVM STARK proving system developed by Starkware for Cairo programs, including state transition of Starknet."
}
}
],
"verifierHashes": [
{
"hash": "0x5ed8957171b466464570ba10b3d5c5adfc54546ba56278129af5ae63a0d4ad22",
"name": "Stone verifier 2024_10",
"sourceLink": "https://etherscan.io/address/0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942#code",
"proofSystem": {
"id": "Stone",
"type": "STARK",
"name": "Stone",
"description": "zkVM STARK proving system developed by Starkware for Cairo programs, including state transition of Starknet."
},
"knownDeployments": [
{
"address": "0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942",
"chain": "ethereum",
"address": "eth:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942",
"overrideUsedIn": [
"edgex",
"myria",
"sorare",
"brine"
]
}
],
"verificationStatus": "successful",
"verificationSteps": "Onchain stone verifier smart contracts contain code that directly checks proofs of correct Cairo program execution. Unlike SNARK final wraps, it does not contain any additional cryptographic components that need to be independently regenerated because it introduces no new zk circuits. The sources are verified on etherscan and can be examined directly to check the correct implementation of STARK verification protocol.",
"description": "Custom verifier ID: SHA256 hash of the address of the immutable verifier smart contract (GpsStatementVerifier) in hex string format '0x...'."
}
]
}
+1 -2
+1 -2
{
"creator": "Starkware",
"projectsForTvs": [
{
"projectId": "starknet",
"sinceTimestamp": 1760824800
},
{
"projectId": "paradex",
"sinceTimestamp": 1763997779
}
],
"proofSystemInfo": "\n## Description\n\nStwo is the next iteration of Starkware zkVM STARK system. It is intended to prove the execution of programs written in [Cairo language](https://www.starknet.io/cairo-book/title-page.html) and compiled into Cairo assembly (cASM) byte code, however it also allows writing custom AIR to be proven. Stwo verifies STARK proofs directly onchain without any final SNARK wraps and thus requires no trusted setup. \n\nStwo targets 96 bits of cryptographic security + 30 bits of PoW grinding security (e.g. see constructor params on [this contract](https://etherscan.io/address/0x3d57526c1C8D63fa2A8704487Df65e9000166c8E#code)). Here PoW grinding refers to a challenge that prover needs to compute every time they generate a proof. An honest prover performs the work only once but a malicious prover has additional computational load with every attempted forging of a proof.\n\n## Proof system\n\nStwo proof system is a zkVM working with AIR arithmetizations over Mersenne31 field. [This stwo-cairo toolkit](https://github.com/starkware-libs/stwo-cairo/tree/main) allows compiling Cairo program traces to the AIR arithmetization, however it is possible to create custom AIRs to be proven by Stwo, see more [here](https://zksecurity.github.io/stwo-book/air-development/index.html). \n\nStwo offers several innovations to optimize proving time. Firstly, its use of small Mersenne31 field compared to previous version [felt252 field](https://docs.starknet.io/archive/cairo-101/felt/) is much better aligned with CPU arithmetics, also operations over M31 could be highly optimized as explained [here](https://zksecurity.github.io/stwo-book/how-it-works/mersenne-prime.html). Secondly, Stwo implements a circle STARK as introduced in [this paper](https://eprint.iacr.org/2024/278). Thirdly, Stwo prover now uses Blake2 hash function instead of Poseidon, which is more efficient.\n\n### Circle STARKs\n\nCircle STARKs replace interpolation domain without any structure with an interpolation domain with a structure of a circle domain, where points of interpolation are chosen from a complex unit circle over Mersenne31 field. It allows using Circle FFT algorithm, which speeds up the interpolation step in STARK proving, as well as Circle FRI algorithm for low-degree polynomial testing.\n\n### StarkNet Operating System (SNOS)\n\nThe base layer of Stwo proving L2s is a Cairo program called [SNOS](https://docs.starknet.io/architecture/os/) that proves the correct STF from one state to another given the list of transactions. SNOS execution includes checking transaction inputs (e.g. state), executing transactions and processing state diffs. The source code of the Starknet OS can be found [here](https://github.com/starkware-libs/cairo-lang/tree/ee7ce74e1159a349d4b77a5f952241b50b1692de/src/starkware/starknet/core/os).\n\n### Recursive aggregation\n\nProofs of SNOS executions of several consecutive blocks are recursively aggregated. The correctness of this aggregation is checked by [applicative bootloader](https://github.com/starkware-libs/cairo-lang/blob/8e11b8cc65ae1d0959328b1b4a40b92df8b58595/src/starkware/cairo/bootloaders/applicative_bootloader/applicative_bootloader.cairo#L15) program, which also verifies the correct relation of corresponding SNOS inputs and outputs. Applicative bootloader proofs are aggregated across several blockchains and proven by [SHARP](https://docs.starknet.io/architecture/sharp/#what_is_sharp). The SHARP STARK proof is verified onchain without any SNARK wraps.\n\n## Trusted setup\n\nStwo is a STARK (transparent SNARK) that does not perform a wrap in a SNARK, so it does not require any trusted setup.",
"techStack": {
"zkVM": [
{
"id": "Stwo",
"type": "STARK",
"name": "Stwo",
"description": "State of the art implementation of Circle STARK zkVM, created by Starkware to prove Cairo programs, including state transition of Starknet."
},
{
"id": "CASM",
"type": "ISA",
"name": "Cairo ASM",
"description": "Instruction language for Cairo VM developed by Starkware."
},
{
"id": "Mersenne31",
"type": "Field",
"name": "Mersenne31",
"description": "Prime field of order p = 2**31 - 1."
}
]
},
"trustedSetups": [
{
"id": "TransparentSetup",
"name": "Transparent setup",
"risk": "N/A",
"shortDescription": "No trusted setup and no additional setup-related trust assumptions.",
"longDescription": "Transparent proving systems require no trusted setups and have no additional setup-related trust assumptions.",
"proofSystem": {
"id": "Stwo",
"type": "STARK",
"name": "Stwo",
"description": "State of the art implementation of Circle STARK zkVM, created by Starkware to prove Cairo programs, including state transition of Starknet."
}
}
],
"verifierHashes": [
{
"hash": "0xf16d320ba0d2087a99ffd465041960fd0aedf5e723c0fb877533876c531191d3",
"name": "Stwo verifier 2025_11",
"sourceLink": "https://etherscan.io/address/0x13e120F6c8E747983F7aaF0f7731796bfcb0D934#code",
"proofSystem": {
"id": "Stwo",
"type": "STARK",
"name": "Stwo",
"description": "State of the art implementation of Circle STARK zkVM, created by Starkware to prove Cairo programs, including state transition of Starknet."
},
"knownDeployments": [
{
"address": "0x13e120F6c8E747983F7aaF0f7731796bfcb0D934",
"chain": "ethereum",
"address": "eth:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934",
"overrideUsedIn": [
"starknet",
"paradex"
]
}
],
"verificationStatus": "successful",
"verificationSteps": "Onchain stwo verifier smart contracts contain code that directly checks proofs of correct Cairo program execution. Unlike SNARK final wraps, it does not contain any additional cryptographic components that need to be independently regenerated because it introduces no new zk circuits. The sources are verified on etherscan and can be examined directly to check the correct implementation of STARK verification protocol.",
"description": "Custom verifier ID: SHA256 hash of the address of the immutable verifier smart contract (GpsStatementVerifier) in hex string format '0x...'."
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x9C93982cb4861311179aE216d1B7fD61232DE1f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708985111,
"transactionHash": "0xc16982082473ed47dd39f1a749df2b88e5de7e839f73078a6522f0568eaee7c3",
"implementations": [
"eth:0x4662AF45c8A14c63cb90c5a61A8045EE5a35A00D"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
}
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9C93982cb4861311179aE216d1B7fD61232DE1f0#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xEe136B6087070d35D98b1bb1B33C3a00D907F0c1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753174391,
"transactionHash": "0x1061e31d546818f9093d3331fcc48eb98901aaa8e470e1565e096aa373389338",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEe136B6087070d35D98b1bb1B33C3a00D907F0c1#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xFb252d6199AEfeE6938a1c57213AAd96ecD2650c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708984967,
"transactionHash": "0x071cf08d571356b15dd25a2e1d04c9d546a99a0225a9c1432c488c79b51d1e72",
"implementations": [
"eth:0x4e85732016AFF90b14ea7F39Df04cBcf4ED170eC"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1753109615,
"transactionHash": "0x9f977184a28dd8bce9a8f00f77bce38279f7b8c9d6897fb3a634c1c2cf8a2a34",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
}
],
"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 EOA 1\n * **batcherHash**: EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFb252d6199AEfeE6938a1c57213AAd96ecD2650c#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x6c10d7e5750b21729Eb863Cf89E5b48850E6d97D",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708984811,
"transactionHash": "0x53bf303148a69eda22c6f29f31372131bb2bfe421327ce311c8288fecee8b453",
"implementations": [
"eth:0x6c10d7e5750b21729Eb863Cf89E5b48850E6d97D"
]
},
{
"timestamp": 1708985063,
"transactionHash": "0x3b403a7edc0424fc8660fc853602e5229bee91b99835874234266f9e384648ca",
"implementations": [
"eth:0xfe0651694489eb60Bb93031C9C32318b0E1Fe200"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753109615,
"transactionHash": "0x9f977184a28dd8bce9a8f00f77bce38279f7b8c9d6897fb3a634c1c2cf8a2a34",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109615,
"transactionHash": "0x9f977184a28dd8bce9a8f00f77bce38279f7b8c9d6897fb3a634c1c2cf8a2a34",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6c10d7e5750b21729Eb863Cf89E5b48850E6d97D#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x9bF59F099d4306B52C7624c90B6d5FD75ab8513b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708985015,
"transactionHash": "0xdef02483fe5ae6b828fbdf7a5507571ff8b84c7366a7a1ff2fdfb58b32ee62d1",
"implementations": [
"eth:0xf7110272725E2036fc21294E9468EBD635800381"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753109615,
"transactionHash": "0x9f977184a28dd8bce9a8f00f77bce38279f7b8c9d6897fb3a634c1c2cf8a2a34",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753109615,
"transactionHash": "0x9f977184a28dd8bce9a8f00f77bce38279f7b8c9d6897fb3a634c1c2cf8a2a34",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9bF59F099d4306B52C7624c90B6d5FD75ab8513b#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xdB5C6b73CB1c5875995a42D64C250BF8BC69a8bc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdB5C6b73CB1c5875995a42D64C250BF8BC69a8bc#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x0225304877a2C700f8f03BC50344467FCf8271BF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0225304877a2C700f8f03BC50344467FCf8271BF#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x542102Bb35C32ADa5D72cB791295d97574A71C84",
"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* Roles:\n * **challenger**: Conduit Multisig 1\n * **proposer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x542102Bb35C32ADa5D72cB791295d97574A71C84#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA6b2b6B6E621482aF877F304D46B94123a942Ae9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xccc6Fc5B866D34a7A4C40455a3cCfaa0cbFc145B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708985027,
"transactionHash": "0xbc6397329262295625fd9b6a92aee4238b4b10218c4b5a1c7fd3a215f1b83af2",
"implementations": [
"eth:0xCB163fF84Dfe5380C76cbd9B660d62D9ccE8945C"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753109615,
"transactionHash": "0x9f977184a28dd8bce9a8f00f77bce38279f7b8c9d6897fb3a634c1c2cf8a2a34",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"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 EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xccc6Fc5B866D34a7A4C40455a3cCfaa0cbFc145B#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": "DelayedWETH",
"isVerified": true,
"address": "eth:0xf8f9625a95b8fCbED76d1De537B71035997E44c8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0x5e40B9231B86984b5150507046e354dbFbeD3d9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753174415,
"transactionHash": "0x5cfa87ff25eaa53f38d7d0d6b7f51ce44bab5c71406bd732723608e66184a81c",
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"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 EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf8f9625a95b8fCbED76d1De537B71035997E44c8#code"
}
]
},
"escrows": [
{
"address": "0x9C93982cb4861311179aE216d1B7fD61232DE1f0",
"sinceTimestamp": 1708984751,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9C93982cb4861311179aE216d1B7fD61232DE1f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708985111,
"transactionHash": "0xc16982082473ed47dd39f1a749df2b88e5de7e839f73078a6522f0568eaee7c3",
"implementations": [
"eth:0x4662AF45c8A14c63cb90c5a61A8045EE5a35A00D"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x6322C2f2D6a4305Fc033754d486A5A067Ee5F9b1"
]
},
{
"timestamp": 1753106831,
"transactionHash": "0x18166234384c5dc08eb96b10eb819277826bf8620f5681659457761a655c4797",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753375919,
"transactionHash": "0x227eb698170a630e7a33457b9166890b0d905f6b83947d6f78a08cc294a56fa0",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x9C93982cb4861311179aE216d1B7fD61232DE1f0#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xdB5C6b73CB1c5875995a42D64C250BF8BC69a8bc",
"sinceTimestamp": 1708984787,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xdB5C6b73CB1c5875995a42D64C250BF8BC69a8bc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA6b2b6B6E621482aF877F304D46B94123a942Ae9"
],
"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/0xdB5C6b73CB1c5875995a42D64C250BF8BC69a8bc#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x2c2150aa5c75A24fB93d4fD2F2a895D618054f07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726179755,
"transactionHash": "0x4b78b9c5a0a09ef70a616081bb965cf601e52187fc30962c3480f56c0ba80251",
"implementations": [
"eth:0xbCDA9e8434eEB0bfCD24fE8b9947c80328dD0270"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2c2150aa5c75A24fB93d4fD2F2a895D618054f07#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x525a2744134805516a45B8abb6Aa0aA1dA3809F6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726179755,
"transactionHash": "0x6571f7c0c658e722714311a9f3e3f305e3330e2d77aec6f6a38d43d9ad5c63e2",
"implementations": [
"eth:0x86fDeC2E82C59e4d7A2FEe41824f16c995685108"
]
},
{
"timestamp": 1753110455,
"transactionHash": "0xf751338c5cc3cb8b6b6542081151d7d63855e92f969ce6fdf48b03553bc9fd78",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"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 Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x525a2744134805516a45B8abb6Aa0aA1dA3809F6#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x657c1b0e31FFc69A02B207Be20699bDFF938c7E7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753170587,
"transactionHash": "0xb6e6a104b282896ec005cae32d137375d563b4e9497b53ac45f862cd1627a5d6",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x657c1b0e31FFc69A02B207Be20699bDFF938c7E7#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"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 Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x3a30AEd8fa7717aC2D8454D82c125cF6B875061a",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726179755,
"transactionHash": "0x54b92ab94f2c008defe9c0133e1479345dc179b8a6d9c3555ba937072ecdaf25",
"implementations": [
"eth:0x6D9D1C7D7148eb567894B9cbcB85Dd0bA9036532"
]
},
{
"timestamp": 1753110455,
"transactionHash": "0xf751338c5cc3cb8b6b6542081151d7d63855e92f969ce6fdf48b03553bc9fd78",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753110455,
"transactionHash": "0xf751338c5cc3cb8b6b6542081151d7d63855e92f969ce6fdf48b03553bc9fd78",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3a30AEd8fa7717aC2D8454D82c125cF6B875061a#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x8b0576E39F1233679109F9b40cFcC2a7E0901Ede",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8b0576E39F1233679109F9b40cFcC2a7E0901Ede#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xA99f82730e68968a78AA21522FC7eb90DB76D8Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726179755,
"transactionHash": "0xf654926c52a5930d7c9bd57f46898010492b0fcdcccfde3e6839d4ba579059c3",
"implementations": [
"eth:0x4Fa018BC93eE0b9183fE138c11c02d0b2209f04f"
]
},
{
"timestamp": 1753110455,
"transactionHash": "0xf751338c5cc3cb8b6b6542081151d7d63855e92f969ce6fdf48b03553bc9fd78",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753110455,
"transactionHash": "0xf751338c5cc3cb8b6b6542081151d7d63855e92f969ce6fdf48b03553bc9fd78",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA99f82730e68968a78AA21522FC7eb90DB76D8Cb#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x37Ba5c724875daF3dB9B94a85fAe47D3e3918480",
"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/0x37Ba5c724875daF3dB9B94a85fAe47D3e3918480#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x484529223d68a0Cf85902Bf5E781394f0D0f837C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726179755,
"transactionHash": "0x6ddec483c995a4d941d9eb1d050dc769a4f68dc56ecfe05b2f9b8cc0279119a6",
"implementations": [
"eth:0x2D06aB23BadC284507048F12c8a49927E4c10058"
]
},
{
"timestamp": 1753110455,
"transactionHash": "0xf751338c5cc3cb8b6b6542081151d7d63855e92f969ce6fdf48b03553bc9fd78",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x484529223d68a0Cf85902Bf5E781394f0D0f837C#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xD5444Ec68c1D1B7a820ADc3968ea0B01ac667331",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD5444Ec68c1D1B7a820ADc3968ea0B01ac667331#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xe412DfF37688441b0b3CEC2C081ABC483d87C639",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe412DfF37688441b0b3CEC2C081ABC483d87C639#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD#code"
}
]
},
"escrows": [
{
"address": "0x2c2150aa5c75A24fB93d4fD2F2a895D618054f07",
"sinceTimestamp": 1726179731,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x2c2150aa5c75A24fB93d4fD2F2a895D618054f07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726179755,
"transactionHash": "0x4b78b9c5a0a09ef70a616081bb965cf601e52187fc30962c3480f56c0ba80251",
"implementations": [
"eth:0xbCDA9e8434eEB0bfCD24fE8b9947c80328dD0270"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753371443,
"transactionHash": "0x4b182b5f6647b2121103f689040464868fbb788d34157382f3705302ff3c1371",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1768924151,
"transactionHash": "0x9aa36227fd3aff27d1f3f728d545ecf729f30ebb155d328c1c8276015da575bc",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x2c2150aa5c75A24fB93d4fD2F2a895D618054f07#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x8b0576E39F1233679109F9b40cFcC2a7E0901Ede",
"sinceTimestamp": 1726179731,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x8b0576E39F1233679109F9b40cFcC2a7E0901Ede",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF3b7697c9C0CbdE923f34991F2D19cC1c66612bD"
],
"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/0x8b0576E39F1233679109F9b40cFcC2a7E0901Ede#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.0` . Commit hash should be `d6fb90dd489e39efa206b55200766ccc075c1d9b`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03682932cec7ce0a3874b19675a6bbc923054a7b321efc7d3835187b172494b6"
}
],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x1c22740A0B4511E11D76434A424487862b593901",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x0092400cf9cbAC5ABD8518960Cb1F90663607630"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645255,
"transactionHash": "0x07b366c9ec8510a71e1c453a279dc8cb03c8d681ca860388c07220f51cc2d080",
"implementations": [
"eth:0x0092400cf9cbAC5ABD8518960Cb1F90663607630"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Swan Network Multisig\n * **challenger**: EOA 1\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1c22740A0B4511E11D76434A424487862b593901#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x504D56cf68f791B45E3A2e895B0e1562f3431328",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x7CDAEa613E1D17e78F24CAF6349bCCf2bC364F0a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645123,
"transactionHash": "0x3239bd9f6bb7dabf6cf048b550678631446b40b9def8df22fab9af2626767ffc",
"implementations": [
"eth:0x7CDAEa613E1D17e78F24CAF6349bCCf2bC364F0a"
]
}
],
"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 Swan Network Multisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x504D56cf68f791B45E3A2e895B0e1562f3431328#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x1606beCd26316B935B2dFE31D57C1C0B39f4f52f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645279,
"transactionHash": "0x267bfbcf162e6bcb1007b502ffec469cf37acb159189e50a741072a226386868",
"implementations": [
"eth:0x1606beCd26316B935B2dFE31D57C1C0B39f4f52f"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Swan Network Multisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xadE916De67511E5C24af4174Be67143d0dA94959",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x704Ad7cb61f3Ff97F790FAA747279244Eb2a1802"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718644871,
"transactionHash": "0x0430cefb8557d7b12ec065dc6f0ae7252df7774417256562b675c76e0a5e801a",
"implementations": [
"eth:0x704Ad7cb61f3Ff97F790FAA747279244Eb2a1802"
]
}
],
"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 Swan Network Multisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xadE916De67511E5C24af4174Be67143d0dA94959#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x15567C4FfD9109795dFf1D9A5233D10aef0738D2",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x76A8Eb93D4a200e8594B1ab1021ab5595CDfB57D"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645231,
"transactionHash": "0x03c4be0ca9d421b234b124fc28c74f2877311158d86340b160c73e649bc15b42",
"implementations": [
"eth:0x76A8Eb93D4a200e8594B1ab1021ab5595CDfB57D"
]
}
],
"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 Swan Network Multisig",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x15567C4FfD9109795dFf1D9A5233D10aef0738D2#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x1Ccf7e62889E6A93413DEAFC4e390Bd4047bDC32",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x621729Ef0571a76E438689ec2bC88ee8E3f2Beff"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645159,
"transactionHash": "0x38552b748b878396f4ca547230550faa88ceaee69f7197dfbac254d0d13947fd",
"implementations": [
"eth:0x621729Ef0571a76E438689ec2bC88ee8E3f2Beff"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Swan Network Multisig",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1Ccf7e62889E6A93413DEAFC4e390Bd4047bDC32#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xed7525946A09056C6AaE29941b8323017382050e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0xc7e1EA328166Eea934429Eaa9F6c55Ef5548Efe7"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Swan Network Multisig",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xed7525946A09056C6AaE29941b8323017382050e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Swan Network Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xE9614162C6128ABD7790C65D711CfC43ea842153",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x351ABA1B5B72E6bA8d530740f073993069e7BC69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645171,
"transactionHash": "0xcf0a39dab8a8a6442cf8fa84fb9caa5491ad2a403249e1695cb80350557aea22",
"implementations": [
"eth:0x351ABA1B5B72E6bA8d530740f073993069e7BC69"
]
}
],
"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 Swan Network Multisig",
"upgradableBy": [
{
"name": "Swan Network Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE9614162C6128ABD7790C65D711CfC43ea842153#code"
}
]
},
"escrows": [
{
"address": "0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15",
"sinceTimestamp": 1718644919,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0x1606beCd26316B935B2dFE31D57C1C0B39f4f52f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718645279,
"transactionHash": "0x267bfbcf162e6bcb1007b502ffec469cf37acb159189e50a741072a226386868",
"implementations": [
"eth:0x1606beCd26316B935B2dFE31D57C1C0B39f4f52f"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xBa50434BC5fCC07406b1baD9AC72a4CDf776db15#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xed7525946A09056C6AaE29941b8323017382050e",
"sinceTimestamp": 1718644955,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xed7525946A09056C6AaE29941b8323017382050e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCc8c55Ec2Ea3F3001C049eC934e72b55cf52fBf3"
],
"implementations": [
"eth:0xc7e1EA328166Eea934429Eaa9F6c55Ef5548Efe7"
]
},
"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/0xed7525946A09056C6AaE29941b8323017382050e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x758E0EE66102816F5C3Ec9ECc1188860fbb87812",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x758E0EE66102816F5C3Ec9ECc1188860fbb87812#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x87690676786cDc8cCA75A472e483AF7C8F2f0F57",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **challengerFromDGF**: OpFoundationOperationsSafe; ultimately SaferSafes\n * **proposerFromDGF**: EOA 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x87690676786cDc8cCA75A472e483AF7C8F2f0F57#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xD3d4c6B703978a5d24FecF3a70a51127667Ff1A4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 2\n * **owner**: Swell Multisig",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD3d4c6B703978a5d24FecF3a70a51127667Ff1A4#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x7aA4960908B13D104bf056B23E2C76B43c5AACc8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7aA4960908B13D104bf056B23E2C76B43c5AACc8#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xe6a99Ef12995DeFC5ff47EC0e13252f0E6903759",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe6a99Ef12995DeFC5ff47EC0e13252f0E6903759#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xfd7618330E63B493070DC8C491Ad4aD26144Bc1e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfd7618330E63B493070DC8C491Ad4aD26144Bc1e#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#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": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x511fB9E172f8A180735ACF9c2beeb208cD0061Ac",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x511fB9E172f8A180735ACF9c2beeb208cD0061Ac#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc2b228cd433eBaE788DE287EDE2abE55B3F3F603",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2b228cd433eBaE788DE287EDE2abE55B3F3F603#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xdD525E7E8fA35345D30e88018c9925F3C2876107",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdD525E7E8fA35345D30e88018c9925F3C2876107#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0xecf3376512EDAcA4FBB63d2c67d12a0397d24121",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x7e97935FbDF2a27EA35c4fdDdaCf5ACd685e65A2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734102575,
"transactionHash": "0xad7c277ccb1907dcfc1485a433a193ca4d38bf6ec23ffd826a415a26a3b16466",
"implementations": [
"eth:0x7e97935FbDF2a27EA35c4fdDdaCf5ACd685e65A2"
]
}
],
"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/0xecf3376512EDAcA4FBB63d2c67d12a0397d24121#code"
}
]
},
"escrows": [
{
"address": "0x758E0EE66102816F5C3Ec9ECc1188860fbb87812",
"sinceTimestamp": 1732696703,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x758E0EE66102816F5C3Ec9ECc1188860fbb87812",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732696703,
"transactionHash": "0x9d71c017e9080cc922d6bc87d89052eeaced49b0cbc0bed5c1ec2a31d5e4496d",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760460527,
"transactionHash": "0x6e9cfd7c22acaf263f9a5afaaa701934c77fa2015b9a65262fe29dee108b092c",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764102143,
"transactionHash": "0xc1c52a6b223c21ad02f12e115b3b872ca858298de141528c019401811fbb822a",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x758E0EE66102816F5C3Ec9ECc1188860fbb87812#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x7aA4960908B13D104bf056B23E2C76B43c5AACc8",
"sinceTimestamp": 1732696703,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x7aA4960908B13D104bf056B23E2C76B43c5AACc8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C4710a4Ec3F514A492CC6460818C4A6A6269dd6"
],
"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/0x7aA4960908B13D104bf056B23E2C76B43c5AACc8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xecf3376512EDAcA4FBB63d2c67d12a0397d24121",
"sinceTimestamp": 1734102575,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xecf3376512EDAcA4FBB63d2c67d12a0397d24121",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x7e97935FbDF2a27EA35c4fdDdaCf5ACd685e65A2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734102575,
"transactionHash": "0xad7c277ccb1907dcfc1485a433a193ca4d38bf6ec23ffd826a415a26a3b16466",
"implementations": [
"eth:0x7e97935FbDF2a27EA35c4fdDdaCf5ACd685e65A2"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0xecf3376512EDAcA4FBB63d2c67d12a0397d24121#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x410D7e4Ea1093A532eF9A7a2D5df84084B05ec24",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1743800207,
"transactionHash": "0x16d2c7f565c946c7e7b8893092fe21693ee610a540d8e48d50ef672f94924dd0",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1743800207,
"transactionHash": "0x16d2c7f565c946c7e7b8893092fe21693ee610a540d8e48d50ef672f94924dd0",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1743800207,
"transactionHash": "0x16d2c7f565c946c7e7b8893092fe21693ee610a540d8e48d50ef672f94924dd0",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1748477795,
"transactionHash": "0xa7c0bbce514c44dc6dda571c09f6529ab28adde2b3e8274661b26d111b70a69a",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1758834599,
"transactionHash": "0x300d4d863ea7ccc4d22738184d8aa72ce3a61125bf960d9dd658020b85a2471a",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1758834599,
"transactionHash": "0x300d4d863ea7ccc4d22738184d8aa72ce3a61125bf960d9dd658020b85a2471a",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdminOwnable; ultimately Caldera Multisig 3\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x410D7e4Ea1093A532eF9A7a2D5df84084B05ec24#code"
},
{
"name": "AvailL1DAValidator",
"isVerified": true,
"address": "eth:0x8f50d93B9955B285f787043B30B5F51D09bE0120",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies that the validiums data was made available on Avail by querying the 0x054fd961708D8E2B9c10a63F6157c74458889F0a on Ethereum for a merkle proof of inclusion.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f50d93B9955B285f787043B30B5F51D09bE0120#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x86F4487949Ac2fb0d5735870f1731e879e1d9680",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Caldera Multisig 3 act through it.\n* Roles:\n * **owner**: Caldera Multisig 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x86F4487949Ac2fb0d5735870f1731e879e1d9680#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0xD71DDC9956781bf07DbFb9fCa891f971dbE9868A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD71DDC9956781bf07DbFb9fCa891f971dbE9868A#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to various ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x0000000000000000000000000000000000010003",
"l2EtherAddress": "0x000000000000000000000000000000000000800A"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.28.0",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.28.0/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.28.0`. Commit hash should be `cfd77cb6bc9ab3d751d42c6161f1b393a9c51647`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x0100085f9382a7928dd83bfc529121827b5f29f18b9aa10d18aa68e1be7ddc35"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911",
"eth:0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6"
]
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "base:0x520D972B4A7C1CE4d5e01bCd4349a93a8AeaEAC5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0x6042DE5a64709d8d4bBb227891AD886ECff49c6d"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1707369487,
"transactionHash": "0xaf623829a347e0ac10b6be166c1c32a64bb61fc9866d9bc1fcbfad71e6803107",
"implementations": [
"base:0x6042DE5a64709d8d4bBb227891AD886ECff49c6d"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 2\n * **challenger**: EOA 1\n * **proposer**: EOA 3",
"upgradableBy": [
{
"name": "Caldera Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x520D972B4A7C1CE4d5e01bCd4349a93a8AeaEAC5#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "base:0x52fA397D799f1CE416a2089B964Aa293c347994F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0x44Ce95273E69246fe258b02a68E3a6FfCA66fdf2"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1707369501,
"transactionHash": "0x7365eb094277a0147c55d12fe495f56b4c4297ea9aa6672b3e3c7845b4b0d88d",
"implementations": [
"base:0x44Ce95273E69246fe258b02a68E3a6FfCA66fdf2"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 2\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x52fA397D799f1CE416a2089B964Aa293c347994F#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "base:0xc2dA6Afd69F0ce69313F01c73f77E6471f06b4E4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0x5581A42BAF9bd77e1c56aFB2c74dEF20dfe26f9A"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1707369427,
"transactionHash": "0x31c3e3a0a7efc91fa8eec9137a7d19fe4ab6ed13e92c9cd4cbf28f5ea10a6154",
"implementations": [
"base:0x5581A42BAF9bd77e1c56aFB2c74dEF20dfe26f9A"
]
}
],
"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 Caldera Multisig 2\n * **batcherHash**: EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xc2dA6Afd69F0ce69313F01c73f77E6471f06b4E4#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "base:0x0ED44be59Ea62a9960CB97f8aC54088304D05791",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0x06DDDA853506cECa671a06136f955f7f042FD667"
],
"immutable": false
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1707369341,
"transactionHash": "0x2eea12a1949fd31d0b78093777274d93d22abbfe7f8c3a146336baf9d413037d",
"implementations": [
"base:0x0ED44be59Ea62a9960CB97f8aC54088304D05791"
]
},
{
"timestamp": 1707369475,
"transactionHash": "0x64273f6d08fd5de9b9d3480c7d387e64b13c3364e227601a6af78c5a49057427",
"implementations": [
"base:0x06DDDA853506cECa671a06136f955f7f042FD667"
]
}
],
"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 Caldera Multisig 2",
"upgradableBy": [
{
"name": "Caldera Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0ED44be59Ea62a9960CB97f8aC54088304D05791#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "base:0xF7Cb313CB6D146dAbB8c5E31798BDCeFc67B831b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0xFF505c0Eb62C37901F53cCBf2973AAe75D26d0AE"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 2",
"upgradableBy": [
{
"name": "Caldera Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xF7Cb313CB6D146dAbB8c5E31798BDCeFc67B831b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: Caldera Multisig 2",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E#code"
}
]
},
"escrows": [
{
"address": "0x52fA397D799f1CE416a2089B964Aa293c347994F",
"sinceTimestamp": 1707369307,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "base:0x52fA397D799f1CE416a2089B964Aa293c347994F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0x44Ce95273E69246fe258b02a68E3a6FfCA66fdf2"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1707369501,
"transactionHash": "0x7365eb094277a0147c55d12fe495f56b4c4297ea9aa6672b3e3c7845b4b0d88d",
"implementations": [
"base:0x44Ce95273E69246fe258b02a68E3a6FfCA66fdf2"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x52fA397D799f1CE416a2089B964Aa293c347994F#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0xF7Cb313CB6D146dAbB8c5E31798BDCeFc67B831b",
"sinceTimestamp": 1707369327,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "base:0xF7Cb313CB6D146dAbB8c5E31798BDCeFc67B831b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xF5BD775557F3b8817C34Fc784971A0AF1a36DD8E"
],
"implementations": [
"base:0xFF505c0Eb62C37901F53cCBf2973AAe75D26d0AE"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xF7Cb313CB6D146dAbB8c5E31798BDCeFc67B831b#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [],
"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": []
}
+224 -0
+224 -0
{
"addresses": {
"ethereum": [
{
"name": "MainnetERC20Vault",
"isVerified": true,
"address": "eth:0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550603,
"transactionHash": "0x109f0a0ff2b3b57f3a94bc1dd39159a7e3af9ec0141be56d49d7bb1db94279c2",
"implementations": [
"eth:0x15D9F7e12aEa18DAEF5c651fBf97567CAd4a4BEc"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0xC722d9f3f8D60288589F7f67a9CFAd34d3B9bf8E"
]
},
{
"timestamp": 1716634859,
"transactionHash": "0x02ed558762eae5f0a930ba4a1047a02d4a793ea48890268c32df04e882f138ff",
"implementations": [
"eth:0x4F750D13005444407D44dAA30922128db0374ca1"
]
},
{
"timestamp": 1717749635,
"transactionHash": "0xdb5e926c96d112ce1389da77a927fba6c7d04a711839b9e14777530ebcf83914",
"implementations": [
"eth:0xF8bdaC4E68bA2595Be8381aaa5456917e374E737"
]
},
{
"timestamp": 1718023547,
"transactionHash": "0x42a1dacf03a4032209ca4a6b922ffe2ebb34925c16a6632d8590cf3374ae59d8",
"implementations": [
"eth:0x75b5E276c5C1e9378E899cb3A87977421980Eb22"
]
},
{
"timestamp": 1719903815,
"transactionHash": "0x13f54109cb7f7507ad03562b06ea8d8b472043186e44252302583bc64acfb20b",
"implementations": [
"eth:0xa303784B0557BF1F1FB8b8abEF2B18a005722689"
]
},
{
"timestamp": 1721133959,
"transactionHash": "0xee632b50626beb2f7db84c9c7f303f29366f86dfaccd24ddd831ceac714c20e5",
"implementations": [
"eth:0x7ACFBb369a552C45d402448A4d64b9da54C3FF30"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0xb20C8Ffc2dD49596508d262b6E8B6817e9790E63"
]
}
],
"description": "Shared vault for Taiko chains for bridged ERC20 tokens.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab#code"
},
{
"name": "TaikoDAOController",
"isVerified": true,
"address": "eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9CDf589C941ee81D75F34d3755671d614f7cf261"
],
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748146475,
"transactionHash": "0x5da0579fa85d4712efb3d66c95ee884d73259ede79760d25f685e4c3c3c4c0c1",
"implementations": [
"eth:0x4347df63bdC82b8835fC9FF47bC5a71a12cC0f06"
]
}
],
"description": "Middleware contract that maintains ownership of DAO-controlled assets and contracts. Its token weight does not count towards the DAO quorum.\nMember of Taiko Foundation Treasury Multisig.\n* Roles:\n * **admin**: DAO\n * **owner**: DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a#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\n * **owner**: DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfC3C4ca95a8C4e5a587373f1718CD91301d6b2D3#code"
},
{
"name": "ForcedInclusionStore",
"isVerified": true,
"address": "eth:0x05d88855361808fA1d7fc28084Ef3fCa191c4e03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xcdb25e201Ad3fdcFe16730A6CA2cC0B1Ce2137a2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268747,
"transactionHash": "0x64a0b9958cff7b5465d4ba8ade9051c8f81eceba46f8838e3b9f797425087aa5",
"implementations": [
"eth:0x4BfB2bd9dC62474e440567D4D1D8bD72c022149b"
]
},
{
"timestamp": 1747268747,
"transactionHash": "0xb5b74868eb84c8bbeada5d84156f885bb05c7170c0fd8e4bd50b68a65f0c8446",
"implementations": [
"eth:0xcdb25e201Ad3fdcFe16730A6CA2cC0B1Ce2137a2"
]
}
],
"description": "Contract that allows users to enqueue forced transactions via L1. The system guarantees that at least one pending forced transaction from the queue will be processed every 255 batches. Individual transactions may face longer delays if the queue is extensive.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05d88855361808fA1d7fc28084Ef3fCa191c4e03#code"
},
{
"name": "TaikoL1",
"isVerified": true,
"address": "eth:0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1714550627,
"transactionHash": "0x675a0b8283bd222e1df42a0a4df4b781a1a7c5575729e2e91f89dda879933702",
"implementations": [
"eth:0x99Ba70E62cab0cB983e66F72330fBDDC11d85501"
]
},
{
"timestamp": 1715408795,
"transactionHash": "0x416560cd96dc75ccffebe889e8d1ab3e08b33f814dc4a2bf7c6f9555071d1f6f",
"implementations": [
"eth:0x9fBBedBBcBb753E7214BE08381efE10d89D712fE"
]
},
{
"timestamp": 1716300911,
"transactionHash": "0xaed098ad0c93113e401f61358f963501f40a046c5b5b659a1610f10120a9a86b",
"implementations": [
"eth:0xe0A5D394878723CEAEC8B993e04756DF1f4B44eF"
]
},
{
"timestamp": 1716827831,
"transactionHash": "0x187cc99e9bcf2a94f723cf52d85b74b79bdb3872681e2a3808cadbbc3ba301e2",
"implementations": [
"eth:0xa200c2268d77737a8Fd2CA1698dA6eeab2a85CEb"
]
},
{
"timestamp": 1716873491,
"transactionHash": "0xa603b6d55457e64e18ddae684bfd14948452cdd7b927dd22bf0b83045e8fd028",
"implementations": [
"eth:0x3505a0700DB72dEc7AbFF1aF231BB5D87aBF2944"
]
},
{
"timestamp": 1717481411,
"transactionHash": "0x2c455ae888a23c232bb5c7603657eda010ffadc602a74e626332bc06eaaa3b78",
"implementations": [
"eth:0xE84DC8E2a21e59426542Ab040D77f81d6dB881eE"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0x4b2743B869b85d5F7D8020566f92664995E4f3c5"
]
},
{
"timestamp": 1717732931,
"transactionHash": "0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04",
"implementations": [
"eth:0x0468745A07de44A9a3138adAc35875ecaf7a20D5"
]
},
{
"timestamp": 1717749635,
"transactionHash": "0xdb5e926c96d112ce1389da77a927fba6c7d04a711839b9e14777530ebcf83914",
"implementations": [
"eth:0xB9E1E58bcF33B79CcfF99c298963546a6c334388"
]
},
{
"timestamp": 1719903815,
"transactionHash": "0x13f54109cb7f7507ad03562b06ea8d8b472043186e44252302583bc64acfb20b",
"implementations": [
"eth:0x5fc54737ECC1de49D58AE1195d4A296257F1E31b"
]
},
{
"timestamp": 1720874075,
"transactionHash": "0xdf3f0cb2eaca00484c30a5c63fafe8036a9e0f71bd4bab216504bee0f5bfb83f",
"implementations": [
"eth:0xcEe590fACd976B9BDE87BC1B7620B284c5edD2C3"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0xBA1d90BCfA74163bFE09e8eF609b346507D83231"
]
},
{
"timestamp": 1729065323,
"transactionHash": "0x8778064404816273804d74c97b051f3865bc03062cfa4b0e9567f4556ad31981",
"implementations": [
"eth:0xf0E6d34937701622cA887a75c150cC23d4FFDf2F"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0x4229d14F520848aa83760Cf748abEB8A69cdaB2d"
]
},
{
"timestamp": 1730610923,
"transactionHash": "0x78ca7c7d9c7e5aa9c5e6ab80e0229289a8d3bc8df2c2b9ba6baa74a0f60a0703",
"implementations": [
"eth:0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17"
]
},
{
"timestamp": 1731252767,
"transactionHash": "0xa9e285d0f2cc84161ac3fc28962003779e9a618271bd6a54b16fb4001ede5b38",
"implementations": [
"eth:0x0205ea1e1162bc50E1030F36412E5Dd69daA4040"
]
},
{
"timestamp": 1731253583,
"transactionHash": "0x5efedb806fca83936c58f9e4d30644257ce3a529239131b0b19f630320bcfb04",
"implementations": [
"eth:0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17"
]
},
{
"timestamp": 1731255023,
"transactionHash": "0x5eb57ab352b3e3c1ddbc3fe468d582901b88c6a137ce49b0d70857d5218d626d",
"implementations": [
"eth:0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B"
]
},
{
"timestamp": 1734921911,
"transactionHash": "0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944",
"implementations": [
"eth:0xb74A66b6CF50AD63E29669F0BDE4354E11758162"
]
},
{
"timestamp": 1734923555,
"transactionHash": "0xe66aba9f8bfcd86dc0ae32416862ca61a51c47f8ec747799e65f155ef27eeb20",
"implementations": [
"eth:0xA3E75eDA1Be2114816f388A5cF53EbA142DCDB17"
]
},
{
"timestamp": 1734965747,
"transactionHash": "0x9c2f36af40c0004110041fc45d980b73b0c8dde8064713a55aeb6f69fca77a99",
"implementations": [
"eth:0xd4896d4537c6425aC5d89B9f122d4E4ac4D65e1c"
]
},
{
"timestamp": 1735049951,
"transactionHash": "0x77871837d1749b22a7991da475e657baa4371937f5a8cb094d4e170db000cb25",
"implementations": [
"eth:0xe7c4B445D3C7C8E4D68afb85A068F9fAa18e9A5B"
]
},
{
"timestamp": 1739429867,
"transactionHash": "0xc0e8ec30d1479ca2414d4d28a09a543c2845247d80387f78c179d663ffe55c3c",
"implementations": [
"eth:0x2784423f7c61Bc7B75dB6CdA26959946f437588D"
]
},
{
"timestamp": 1740626843,
"transactionHash": "0x6368890b9aa2f87c6a6b727efdd8af0ea357a11460b546d8a7f3e19e38a34e41",
"implementations": [
"eth:0x5110634593Ccb8072d161A7d260A409A7E74D7Ca"
]
},
{
"timestamp": 1747298447,
"transactionHash": "0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd",
"implementations": [
"eth:0x5eEcd1305aC72d4a77Bf3BD734e81c15e2A2adEf"
]
},
{
"timestamp": 1747362983,
"transactionHash": "0x78f766ae83ce94ef2293c9c7d81ae514e8fa0a79fbce1530c3c68d7624708795",
"implementations": [
"eth:0x4e030b19135869F6fd926614754B7F9c184E2B83"
]
},
{
"timestamp": 1752542435,
"transactionHash": "0xffedb70a513e71486c3a47079508d3ba87ae5362e7efb3300febac1be69276bc",
"implementations": [
"eth:0xde813DD3b89702E5Eb186FeE6FBC5dCf02aE6319"
]
},
{
"timestamp": 1754919911,
"transactionHash": "0xbfd772cb4571eb6275f23d4fd8c7eb1502462b55821ee59dae0d15ab3325fc22",
"implementations": [
"eth:0xb4530aBee1Dd239C02266e73ca83Fe6617e77F2F"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0xbB1f830636e1A017b81C3E38b7f6219344149Eb7"
]
},
{
"timestamp": 1764720995,
"transactionHash": "0x22ad3111b2e282663d8ee67b9a1e8c64add6a87f1e1f0e89dd589619ad42cce4",
"implementations": [
"eth:0xB0600e011e02eD35A142B45B506B16A35493c3F5"
]
}
],
"description": "Main contract implementing the logic for proposing and proving Taiko blocks on L1.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x06a9Ab27c7e2255df1815E6CC0168d7755Feb19a#code"
},
{
"name": "SignerList",
"isVerified": true,
"address": "eth:0x0F95E6968EC1B28c794CF1aD99609431de5179c2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x584fE70fE82F728f0Fe26488857D623f3B59E070"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x584fE70fE82F728f0Fe26488857D623f3B59E070"
]
}
],
"description": "A signer list for registering agents, similar to a Multisig.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F95E6968EC1B28c794CF1aD99609431de5179c2#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 DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"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 DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x10dea67478c5F8C5E2D90e5E9B26dBe60c54d800#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",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2AffADEb2ef5e1F2a7F58964ee191F1e88317ECd#code"
},
{
"name": "EncryptionRegistry",
"isVerified": true,
"address": "eth:0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A registry for signers (of the Security Council) to appoint agents to operate on their behalf. These agents can also register their encryption keys for encrypted emergency proposal support.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2eFDb93a3B87b930E553d504db67Ee41c69C42d1#code"
},
{
"name": "DefaultResolver",
"isVerified": true,
"address": "eth:0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xE78659fbF234c84C909Cf317D84edc2f6C0D8413"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268711,
"transactionHash": "0x76cab61cff3f90ecf78478e012a2aa30a7e8ef79b7f06c9ea40265f5557bd8ae",
"implementations": [
"eth:0xE78659fbF234c84C909Cf317D84edc2f6C0D8413"
]
}
],
"description": "Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5A982Fb1818c22744f5d7D36D0C4c9f61937b33a#code"
},
{
"name": "ProverSet",
"isVerified": true,
"address": "eth:0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F026a3efE44E0Fe34B87375EFe69b16c05D0438"
],
"implementations": [
"eth:0xB8826B144eB895eFE2923b61b3b117B1298A9526"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716217559,
"transactionHash": "0xf3b6af477112d0a8209506c8f310f4eb0713beebb1911ef5d11162d36d93c0ff",
"implementations": [
"eth:0x34f2B21107AfE3584949c184A1E6236FFDAC4f6F"
]
},
{
"timestamp": 1716634859,
"transactionHash": "0x02ed558762eae5f0a930ba4a1047a02d4a793ea48890268c32df04e882f138ff",
"implementations": [
"eth:0x500735343372Dd6c9B84dBc7a75babf4479742B9"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0xd0AEe97712a4a88B75C31E3C61DD2Ce6E514D85F"
]
},
{
"timestamp": 1717732931,
"transactionHash": "0x0bbf7d1258c646f41a02a92a55825b1ebfd3659577d0f2b57b462f8895e23a04",
"implementations": [
"eth:0x5D528253fA14cd7F637937de847BE8D5BE0Bf5fd"
]
},
{
"timestamp": 1717844051,
"transactionHash": "0xb4c23d57a1f0916180d0752c57726b634e7707bb7377c93d9e95d19e3695887a",
"implementations": [
"eth:0xD547Ca5d6b50dC5E900a091978597eB51F18F9D1"
]
},
{
"timestamp": 1720874075,
"transactionHash": "0xdf3f0cb2eaca00484c30a5c63fafe8036a9e0f71bd4bab216504bee0f5bfb83f",
"implementations": [
"eth:0x518845daA8870bE2C59E49620Fc262AD48953C9a"
]
},
{
"timestamp": 1721140223,
"transactionHash": "0x7d584f0a645cad61e634f64ffaf7e1bbfb92749878eb25b39ce0e5cf698897c7",
"implementations": [
"eth:0x74828E5fe803072AF9Df512B3911B4223572D652"
]
},
{
"timestamp": 1721197175,
"transactionHash": "0x170617251f2345eda4bcbd29e316caa0b014602a44244c60b963382ac7da7748",
"implementations": [
"eth:0xCE5a119479337a153CA3bd1b2bF9755c78F2B15A"
]
},
{
"timestamp": 1730452835,
"transactionHash": "0x13ea4d044a313cf667d16514465e6b96227ef7198bda7b19c70eefee44e9bccd",
"implementations": [
"eth:0x3022Ed0346CCE0c08268c8ad081458AfD95E8763"
]
},
{
"timestamp": 1734921911,
"transactionHash": "0xfa949022e61921e108974e73130e94fc5120463f2c537d26626e5cee2120c944",
"implementations": [
"eth:0xd0d3f025D83D7122de7eC43e86331C57c8A4F30B"
]
},
{
"timestamp": 1739429867,
"transactionHash": "0xc0e8ec30d1479ca2414d4d28a09a543c2845247d80387f78c179d663ffe55c3c",
"implementations": [
"eth:0x280eAbfd252f017B78e15b69580F249F45FB55Fa"
]
},
{
"timestamp": 1747298447,
"transactionHash": "0x97789b6668d0a287b1f57bb6c8e23cce62308fb887139faeb0f06b77855995fd",
"implementations": [
"eth:0xB8826B144eB895eFE2923b61b3b117B1298A9526"
]
}
],
"description": "An operator proxy used by the Taiko team for operating (proposing, proving) the based rollup from permissioned addresses.\n* Roles:\n * **admin**: EOA 2",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68d30f47F19c07bCCEf4Ac7FAE2Dc12FCa3e0dC9#code"
},
{
"name": "Risc0VerifierGateway",
"isVerified": true,
"address": "eth:0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0x2c106efd4e844195ff8597792c0e87d8319c23b5f4b6f675f878d75181c27baa",
"implementations": [
"eth:0x801878e56A8DA58d6a837006345CDD11a9E6a852"
]
},
{
"timestamp": 1749700235,
"transactionHash": "0x2b9250ebdcf10b1a1ec658e5cc9e7fd9aa19dd32573e6ab5bc036499682dea3a",
"implementations": [
"eth:0xB1c6fF8dCbED16FE412291E7BDA0d611405944Be"
]
},
{
"timestamp": 1753329371,
"transactionHash": "0x95d0cfffe42dc984ce8b24104a28d1083100ab638bb4fe396d1a145c17460db9",
"implementations": [
"eth:0x3dEF88e306E449c6Abf9AaD8038C95d11Bb0b614"
]
},
{
"timestamp": 1764814439,
"transactionHash": "0xbdd083f6c9905230ec66b00863175112f2dbad532a6bd34d5982752587d1c5dd",
"implementations": [
"eth:0xDF6327caafC5FeB8910777Ac811e0B1d27dCdf36"
]
}
],
"description": "Entry contract to verify batches using RISC Zero.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73Ee496dA20e5C65340c040B0D8c3C891C1f74AE#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599",
"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/0x7CCA385bdC790c25924333F5ADb7F4967F5d1599#code"
},
{
"name": "SgxVerifier",
"isVerified": true,
"address": "eth:0x7e6409e9b6c5e2064064a6cC994f9a2e95680782",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xDb7AEe4fA967C2aB0eC28f63C8675224E59340A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0x3f51eda811a4a753cdfa7c664bde1d5e4f58ae3692597a03fb2ebd2064695b0a",
"implementations": [
"eth:0xDb7AEe4fA967C2aB0eC28f63C8675224E59340A5"
]
}
],
"description": "Verifier contract for SGX proven blocks.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7e6409e9b6c5e2064064a6cC994f9a2e95680782#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 DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8d7C954960a36a7596d7eA4945dDf891967ca8A3#code"
},
{
"name": "DefaultResolver",
"isVerified": true,
"address": "eth:0x8Efa01564425692d0a0838DC10E300BD310Cb43e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268711,
"transactionHash": "0xe402a650eb9f8443ae3fb86d2ef4bc6105140c85774c56a3932fe097ea6f6c19",
"implementations": [
"eth:0xFca4F0Ab7B95EEf2e3A60EF2Bc0c42DdAA62E66D"
]
}
],
"description": "Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Efa01564425692d0a0838DC10E300BD310Cb43e#code"
},
{
"name": "QuotaManager",
"isVerified": true,
"address": "eth:0x91f67118DD47d502B1f0C354D0611997B022f29E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xdb627bfD79e81fE42138Eb875287F94FAd5BBc64"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715578067,
"transactionHash": "0x03df9b2af0bebae6b9a3d413c98e53ccd3c629e10010f2c1c14d1c6da630a7d7",
"implementations": [
"eth:0x49c5e5F131314Bb24b17E249960F8B12F925ef22"
]
},
{
"timestamp": 1717663871,
"transactionHash": "0x8de1631a25b337c1e702f9ce9d9ab8a3b626922441855e959b2d79dae40bd131",
"implementations": [
"eth:0xdb627bfD79e81fE42138Eb875287F94FAd5BBc64"
]
}
],
"description": "Defines withdrawal limits per token.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91f67118DD47d502B1f0C354D0611997B022f29E#code"
},
{
"name": "OptimisticTokenVotingPlugin",
"isVerified": true,
"address": "eth:0x989E348275b659d36f8751ea1c10D146211650BE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746111707,
"transactionHash": "0x8acf74d966e6eb99972a4a73382cf42aa918d4715eaf4b587d1007f24edf5208",
"implementations": [
"eth:0x5B0Da2FB08754a5dDf32e28887D2F5437485f085"
]
}
],
"description": "An optimistic governance module. Proposals pass and can be executed unless 10% of votable TAIKO veto them within 7d.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x989E348275b659d36f8751ea1c10D146211650BE#code"
},
{
"name": "SgxVerifier",
"isVerified": true,
"address": "eth:0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x8ADDcf5d4CD7BD9dA1CE62eF84AeE22c9E2BfbA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0x2a2d9e9bfab5ed17c7bb6d2c18a0a90ad1eb50075225b81c1492a61f22c85bd7",
"implementations": [
"eth:0x8ADDcf5d4CD7BD9dA1CE62eF84AeE22c9E2BfbA5"
]
}
],
"description": "Verifier contract for SGX proven blocks.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9e322fC59b8f4A29e6b25c3a166ac1892AA30136#code"
},
{
"name": "TaikoWrapper",
"isVerified": true,
"address": "eth:0x9F9D2fC7abe74C79f86F0D1212107692430eef72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268747,
"transactionHash": "0xf4136bf69dd60ed5f7716de1fc886feb28cddd315692053014caf4608c9de2ff",
"implementations": [
"eth:0xAdBa78120E85Add0dBD2050dBA0548CEDA81A31b"
]
},
{
"timestamp": 1754919911,
"transactionHash": "0xbfd772cb4571eb6275f23d4fd8c7eb1502462b55821ee59dae0d15ab3325fc22",
"implementations": [
"eth:0xa2D216dD9c84cb2e738240aac0956BE98293be61"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0x52D6FC6F6db9E370c336f64f61ff3C29568d1859"
]
}
],
"description": "Entry point for proposing blocks. It enforces the inclusion of forced transactions after their deadline.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9D2fC7abe74C79f86F0D1212107692430eef72#code"
},
{
"name": "VerifierGateway",
"isVerified": true,
"address": "eth:0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x8C520BB75590deaBC30c4fcaFD8778A43E5481b9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268747,
"transactionHash": "0x97cbb3b627dbba1f69fdf82ab883b164a860421507be24fdaadec5cb6394645d",
"implementations": [
"eth:0xEbB8De866727984Ee3a364079f83177FE6d6e288"
]
},
{
"timestamp": 1747268759,
"transactionHash": "0x0d65cd40703200e2a85d3e2c230e23889a51af84fdc475b40844c00e4e48e72f",
"implementations": [
"eth:0x8C520BB75590deaBC30c4fcaFD8778A43E5481b9"
]
}
],
"description": "Gateway contract for the multi-proof system. It redirects proof to the appropriate verifier based on the proof type.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB16931e78d0cE3c9298bbEEf3b5e2276D34b8da1#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0xbee1040D0Aab17AE19454384904525aE4A3602B9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747268759,
"transactionHash": "0xc2f94680481556ed7d11db79956690ede3707ca24c6b8cef62a2f360df4c7dda",
"implementations": [
"eth:0x35f26e14D0dAeDd1904843370f761C60B891D466"
]
},
{
"timestamp": 1748997623,
"transactionHash": "0xbdc86ada3808a5987cd1f4bbc49ecd2d7e577bf90642956442a3d14cffa827ec",
"implementations": [
"eth:0x2E17aC86CafC1db939C9942E478F92bF0E548Ee7"
]
}
],
"description": "Entry contract to verify batches using SP1.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbee1040D0Aab17AE19454384904525aE4A3602B9#code"
},
{
"name": "PreconfRouter",
"isVerified": true,
"address": "eth:0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753275179,
"transactionHash": "0xb361e37443f6ab39912f0fb03456d12f1c69349004725b06f3607155c04fa052",
"implementations": [
"eth:0x2e2FB919E87947f156b374AE5831D756d8EcFBF9"
]
},
{
"timestamp": 1754913371,
"transactionHash": "0x1000b14e86d8db17931f65e877e2eb13cb3990d0a129eee1aff21ce6ba96d2cf",
"implementations": [
"eth:0xf571E2626E2CE68127852123A2cC6AA522C586A0"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0xC44577BAA22f999a16a9dF817A2aba6e5e696913"
]
},
{
"timestamp": 1764814439,
"transactionHash": "0xbdd083f6c9905230ec66b00863175112f2dbad532a6bd34d5982752587d1c5dd",
"implementations": [
"eth:0xafCEDDe020dB8D431Fa86dF6B14C20f327382709"
]
}
],
"description": "Entry point for batch proposals under the pre-confirmation architecture. It allows batches to be proposed only by whitelisted addresses.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD5AA0e20e8A6e9b04F080Cf8797410fafAa9688a#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 for Taiko chains for bridged ETH.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"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",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7dA1C25E915438720692bC55eb3a7170cA90321#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 DAO\n * **owner**: TaikoDAOController; ultimately DAO",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf9EaA1dd30a9AA1df01c36411b5F082aA65fBaa#code"
},
{
"name": "PreconfWhitelist",
"isVerified": true,
"address": "eth:0xFD019460881e6EeC632258222393d5821029b2ac",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x75Ba76403b13b26AD1beC70D6eE937314eeaCD0a"
],
"implementations": [
"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753275179,
"transactionHash": "0x2d127d401f9d22fd4c4f8c14773f2e98e9a3e87837f78bb1d2881a8fcb91cd59",
"implementations": [
"eth:0x86f0AeFA26A1447bbE62bd2bE1D30ff3353B88fB"
]
},
{
"timestamp": 1754913371,
"transactionHash": "0x1000b14e86d8db17931f65e877e2eb13cb3990d0a129eee1aff21ce6ba96d2cf",
"implementations": [
"eth:0x44eC275996BD69361EF062ed488882a58256CF11"
]
},
{
"timestamp": 1756244927,
"transactionHash": "0x27f89b30a14fdf2c6adb42c5722f4ac403eefde7d26f6a64bdfd4a86458a0c00",
"implementations": [
"eth:0x54FeDc114D78dcbDb8c7b2DeA433f9749E8fd0Fc"
]
}
],
"description": "Contains the whitelist of addresses allowed to propose batches on L1. These operators can also issue pre-confirmation from their public addresses. Currently, there are 2 operators registered.\n* Roles:\n * **admin**: TaikoDAOController; ultimately DAO\n * **getOperatorCandidatesForCurrentEpoch**: EOA 1, EOA 3",
"upgradableBy": [
{
"name": "DAO",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD019460881e6EeC632258222393d5821029b2ac#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xFF5Adab685362DC4C33536a65aF5873738D1216B",
"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/0xFF5Adab685362DC4C33536a65aF5873738D1216B#code"
}
],
"taiko": [
{
"name": "Bridge",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000001",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1716802235,
"transactionHash": "0x094dd9452d79cbd74711f2b8065566e4431a05d0727c56d2b38195e40fd62805",
"implementations": [
"taiko:0xf961854D68368cFFc86d90AEe8a19E9781dACA3e"
]
},
{
"timestamp": 1716959027,
"transactionHash": "0x0b5d6acc9c5b8ef193920246081ec5ce7268111acfc1dce1f058bea06f3953c7",
"implementations": [
"taiko:0x98C5De7670aA7d47C6c0551fAD27Bfe464A6751a"
]
},
{
"timestamp": 1717148375,
"transactionHash": "0x4605c4ce594e996bdbdb532a9aefe4fab1ea36f7e2ef63eef56a7e8033810df3",
"implementations": [
"taiko:0x0893c8821Fa358D5f3630695Ce062204814359A1"
]
},
{
"timestamp": 1717486847,
"transactionHash": "0xc77434f4e37959cdc0eac125303b78dd192d8727173373cc7a6158ca7d829dad",
"implementations": [
"taiko:0x8FB67c2C16dc8578b6d69bc668236924f4c1B0f7"
]
},
{
"timestamp": 1717750463,
"transactionHash": "0x3004d3c240481a0470e20a59d2fa06522612ec48334209431f56f09ec9ad4b98",
"implementations": [
"taiko:0x878E72f1d435DbACe8B9C62e084c114ffbb84791"
]
},
{
"timestamp": 1719503519,
"transactionHash": "0xd55e1edee71bd71b9bca0d3826f758a46d688b6ffdd4058fccefc98dbed70165",
"implementations": [
"taiko:0xd95435c742c01B0E982913BcA252173Ae96DF61d"
]
},
{
"timestamp": 1719806771,
"transactionHash": "0xdf0348394d5e58f801de917575aafdc1cb55533b14a6e46fd460d1437238dc02",
"implementations": [
"taiko:0x4Ca6bE8C1Ec05beFB216bAEEF9EE36997e35E98E"
]
},
{
"timestamp": 1730452979,
"transactionHash": "0xdbe9caf2b1282d0fecf9a752f2c1aeade8820bb66bb5ad210f0081996504173b",
"implementations": [
"taiko:0x95ae2918dcbc6aFF8B4c1F1BCC1bf819b6e08B83"
]
}
],
"description": "* Roles:\n * **admin**: DelegateController",
"upgradableBy": [
{
"name": "DelegateController",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000001#code"
},
{
"name": "SignalService",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000005",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1747624787,
"transactionHash": "0x07f68497c517181b0110a51906fb5f5938aafeda78e07cb0480de417c9083f1b",
"implementations": [
"taiko:0xaea51c413Bd15bBee72737C8094BE942B5208762"
]
}
],
"description": "* Roles:\n * **admin**: DelegateController",
"upgradableBy": [
{
"name": "DelegateController",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000005#code"
},
{
"name": "L2AddressManager",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000000006",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0x0167000000000000000000000000000000000006"
]
},
"chain": "taiko",
"pastUpgrades": [],
"description": "Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n* Roles:\n * **admin**: DelegateController\n * **owner**: DelegateController",
"upgradableBy": [
{
"name": "DelegateController",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000000006#code"
},
{
"name": "TaikoAnchor",
"isVerified": true,
"address": "taiko:0x1670000000000000000000000000000000010001",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1730452979,
"transactionHash": "0xdbe9caf2b1282d0fecf9a752f2c1aeade8820bb66bb5ad210f0081996504173b",
"implementations": [
"taiko:0x75E76c367D6be621bD90e4b1e32fBB3fF59150b6"
]
},
{
"timestamp": 1747624787,
"transactionHash": "0x07f68497c517181b0110a51906fb5f5938aafeda78e07cb0480de417c9083f1b",
"implementations": [
"taiko:0x3cfe9b8E0e12289D78c91295c8353aB1731F06E1"
]
},
{
"timestamp": 1754914103,
"transactionHash": "0x2f0b5bd30b1cfc929bb03518ce19a588d431bba847ae7c84daedcc2ddf521bf2",
"implementations": [
"taiko:0x1E3Fa8AD01327D891aB89B13091F93E4eaF7E8A5"
]
},
{
"timestamp": 1755179444,
"transactionHash": "0xf9f899beb269bd2cb1b74001493ec9ac41d83191b79b71878422c3f5a8fdb15b",
"implementations": [
"taiko:0xE6d1efcC6AC8969474308C99a3805c332D33a1E0"
]
},
{
"timestamp": 1770777907,
"transactionHash": "0xd044da28e6a74c63e79bcf8ac14fec397dae61afc9166ca7754af5e0b6e5c7fb",
"implementations": [
"taiko:0xf381868DD6B2aC8cca468D63B42F9040DE2257E9"
]
}
],
"description": "Handles cross-layer message verification and manages EIP-1559 gas pricing for L2 operations. Anchors L1 block details to L2 for cross-layer communication.\n* Roles:\n * **admin**: DelegateController",
"upgradableBy": [
{
"name": "DelegateController",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0x1670000000000000000000000000000000010001#code"
},
{
"name": "DefaultResolver",
"isVerified": true,
"address": "taiko:0xc32277f541bBADAA260337E71Cea53871D310DC8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"taiko:0xfA06E15B8b4c5BF3FC5d9cfD083d45c53Cbe8C7C"
],
"implementations": [
"taiko:0xDaD5a963618b340bC88F267920907bE567Fd88c4"
]
},
"chain": "taiko",
"pastUpgrades": [
{
"timestamp": 1747550747,
"transactionHash": "0xefaca4239f9de65d3339c0e6c5ba7d80ad5239952647ffc832c97c7f59ad5025",
"implementations": [
"taiko:0xDaD5a963618b340bC88F267920907bE567Fd88c4"
]
}
],
"description": "Maps contract names to contract addresses. Changes in this mapping effectively act as contract upgrades.\n* Roles:\n * **admin**: DelegateController\n * **owner**: DelegateController",
"upgradableBy": [
{
"name": "DelegateController",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://taikoscan.io/address/0xc32277f541bBADAA260337E71Cea53871D310DC8#code"
}
]
},
"escrows": [
{
"address": "0xd60247c6848B7Ca29eDdF63AA924E53dB6Ddd8EC",
"sinceTimestamp": 1714550603,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x996282cA11E5DEb6B5D122CC3B9A1FcAAD4415Ab",
"sinceTimestamp": 1714550603,
"tokens": "*",
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of Raiko v1.8.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/v1.8.0/provers/sp1/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.8.0 # hash 9ef485e5e07dab29c42f0327a7c05b7d4f7593b0\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.\n ",
"hash": "0x00380861a3c05aa16421c66921e7b952005ddad5b91b81e56d1a5f92a88db099"
},
{
"title": "Aggregation program of Raiko v1.8.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/v1.8.0/provers/sp1/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.8.0 # hash 9ef485e5e07dab29c42f0327a7c05b7d4f7593b0\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.\n ",
"hash": "0x1c0430d17016a8590438cd241e7b952002eed6ad646e07955a34bf25288db099"
},
{
"title": "Batch proving program of Raiko v1.8.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/v1.8.0/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.8.0 # hash 9ef485e5e07dab29c42f0327a7c05b7d4f7593b0\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.\n ",
"hash": "0x00745853e47349fb2ddb364dae473e099c19890da8c786490da83066a0959689"
},
{
"title": "Batch proving program of Raiko v1.8.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/v1.8.0/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.8.0 # hash 9ef485e5e07dab29c42f0327a7c05b7d4f7593b0\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.\n ",
"hash": "0x3a2c29f21cd27ecb3b66c9b56473e09960cc486d231e19241b5060cd20959689"
},
{
"title": "Batch proving program of Raiko v1.9.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/v1.9.0/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.9.0 # hash 0518a8ac3ce5e6504075c310d53085d0aa150015\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.\n ",
"hash": "0x34712aed5061bce303b4bae32d3edafc05a1b9ec04c6d1d84dedc5ab28e8fe98"
},
{
"title": "Batch proving program of Raiko v1.9.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/v1.9.0/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.9.0 # hash 0518a8ac3ce5e6504075c310d53085d0aa150015\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.\n ",
"hash": "0x0068e255db4186f38c1da5d71ad3edafc0b4373d8131b47626f6e2d5a8e8fe98"
},
{
"title": "Aggregation program of Raiko v1.9.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/v1.9.0/provers/sp1/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.9.0 # hash 0518a8ac3ce5e6504075c310d53085d0aa150015\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.\n ",
"hash": "0x43645b1b5d225d4539e38da910e3ba2a4d8d8dfc457a10d26a03d3cf1fb969be"
},
{
"title": "Aggregation program of Raiko v1.9.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/v1.9.0/provers/sp1/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.9.0 # hash 0518a8ac3ce5e6504075c310d53085d0aa150015\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.\n ",
"hash": "0x0086c8b63774897515cf1c6d490e3ba2a9b1b1bf915e8434b501e9e79fb969be"
},
{
"title": "Aggregation program of Raiko v1.10.4",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "sp1turbo",
"verificationStatus": "notVerified",
"hash": "0x0040b6021bbe547fc651492bcc4eea12eaaa9b0a60086439206e27495ec6d6c3"
},
{
"title": "Aggregation program of Raiko v1.10.4",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "sp1turbo",
"verificationStatus": "notVerified",
"hash": "0x205b010d6f951ff14a29257944eea12e5554d853002190e440dc4e925ec6d6c3"
},
{
"title": "Batch proving program of Raiko v1.10.4",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "sp1turbo",
"verificationStatus": "notVerified",
"hash": "0x00b14510cec97d3449eb84b814be2f4b5dae3eb56528d6bb65e1aa8226f2bed3"
},
{
"title": "Batch proving program of Raiko v1.10.4",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "sp1turbo",
"verificationStatus": "notVerified",
"hash": "0x58a28867325f4d123d7097024be2f4b56d71f5ab14a35aed4bc3550426f2bed3"
},
{
"title": "Aggregation program of Raiko v1.12.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/v1.12.0/provers/sp1/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.12.0 # hash 01ddec7eaf5e88fe21c5a991dd34989df3913f4d\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.\n ",
"hash": "0x008f96447139673b3f2d29b30ad4b43fe6ccb3f31d40f6e61478ac5640201d9e"
},
{
"title": "Aggregation program of Raiko v1.12.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/v1.12.0/provers/sp1/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.12.0 # hash 01ddec7eaf5e88fe21c5a991dd34989df3913f4d\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.\n ",
"hash": "0x47cb22384e59cecf65a536612d4b43fe36659f987503db9828f158ac40201d9e"
},
{
"title": "Batch proving program of Raiko v1.12.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/v1.12.0/provers/sp1/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.12.0 # hash 01ddec7eaf5e88fe21c5a991dd34989df3913f4d\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.\n ",
"hash": "0x00a32a15ab7a74a9a79f3b97a71d1b014cd4361b37819004b9322b502b5f5be1"
},
{
"title": "Batch proving program of Raiko v1.12.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/v1.12.0/provers/risc0/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.12.0 # hash 01ddec7eaf5e88fe21c5a991dd34989df3913f4d\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.\n ",
"hash": "0x51950ad55e9d2a6973e772f471d1b01466a1b0d95e064012726456a02b5f5be1"
},
{
"title": "Aggregation program of Raiko v1.8.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/v1.8.0/provers/risc0/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.8.0 # hash 9ef485e5e07dab29c42f0327a7c05b7d4f7593b0\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.\n ",
"hash": "0x49c8f13fdfbec7c03fc8516ef7d32d8fa43fa4f495d62e9ff6bf63710df402d4"
},
{
"title": "Batch proving program of Raiko v1.8.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/v1.8.0/provers/risc0/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.8.0 # hash 9ef485e5e07dab29c42f0327a7c05b7d4f7593b0\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.\n ",
"hash": "0x052010a130f9957a9d218a173242070c47af1c5d2c3ccae1d8e8d85ce6c7d78e"
},
{
"title": "Batch proving program of Raiko v1.9.0-rc.2",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "risc0",
"verificationStatus": "notVerified",
"hash": "0x1f28744f3b199dd31cfe84ee45bf6a7c9e4b7e8f7e888bb47889bba0237e00ff"
},
{
"title": "Aggregation program of Raiko v1.9.0-rc.2",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "risc0",
"verificationStatus": "notVerified",
"hash": "0x0a0488e485692dd711b60258bd799099f8d1e6776cb96ede88c9fecfcc9b7e7c"
},
{
"title": "Aggregation program of Raiko v1.10.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/v1.10.0/provers/risc0/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.10.0 # hash 047295235cfcc5763401c3b0fc20a80941c01650\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.\n ",
"hash": "0xa41db9223051c1a6b046829dc372eab4989ff0a3e027c360d8c906d831ca60d4"
},
{
"title": "Batch proving program of Raiko v1.10.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/v1.10.0/provers/risc0/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.10.0 # hash 047295235cfcc5763401c3b0fc20a80941c01650\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.\n ",
"hash": "0xa3f175713dc988430192dfd9a6c49ea111e389e2c008428eedd5f38648094404"
},
{
"title": "Aggregation program of Raiko v1.10.4",
"description": "Aggregates proofs of correct execution for several consecutive block batches of Rust-based Taiko L2 client (raiko).",
"proverSystemProject": "risc0",
"verificationStatus": "notVerified",
"hash": "0xe9aec1d30d25da1ccfc02a81c4b71f32e0a6f675dff4ce01fe4bd5f96ff320bd"
},
{
"title": "Batch proving program of Raiko v1.10.4",
"description": "Proves correct state transition function within Rust-based Taiko L2 client (raiko) over a batch of consecutive L2 blocks.",
"proverSystemProject": "risc0",
"verificationStatus": "notVerified",
"hash": "0xee950d20e2483b9b6b859272feaea2dd84cea8a9cfdf1af8834df6b75c3d715e"
},
{
"title": "Aggregation program of Raiko v1.12.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/v1.12.0/provers/risc0/guest/src/aggregation.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.12.0 # hash 01ddec7eaf5e88fe21c5a991dd34989df3913f4d\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.\n ",
"hash": "0x3d933868e2ac698df98209b45e6c34c435df2d3c97754bb6739d541d5fd312e3"
},
{
"title": "Batch proving program of Raiko v1.12.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/v1.12.0/provers/risc0/guest/src/batch.rs",
"verificationStatus": "successful",
"verificationSteps": "\n1. 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 v1.12.0 # hash 01ddec7eaf5e88fe21c5a991dd34989df3913f4d\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.\n ",
"hash": "0x77ff0953ded4fb48bb52b1099cc36c6b8bf603dc4ed9211608c039c7ec31b82b"
}
],
"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:0xFF5Adab685362DC4C33536a65aF5873738D1216B",
"eth:0x7CCA385bdC790c25924333F5ADb7F4967F5d1599"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Validium",
"isVerified": true,
"address": "eth:0x7fF0B5fF6Eb8B789456639AC2A02487c338c1789",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735650935,
"transactionHash": "0x6fa3d7225201238d78388fafabea13b5a54c4f1f037d51071c39c624aa072511",
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
}
],
"description": "The main system contract defining the Ternoa Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: EOA 1\n * **forceBatchAddress**: EOA 1\n * **trustedSequencer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7fF0B5fF6Eb8B789456639AC2A02487c338c1789#code"
},
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9B9671dB83CfcB4508bF361942488C5cA2b1286D#code"
},
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0xB408a216927d31A27fd96176dbF1B825630f0301",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE390FB0dd0Ea7684F59210d791D63E7fc28BbF9b"
],
"implementations": [
"eth:0x0f32d8C0eB1cE4C5FFb1A6C4bb3b879D2184Ed11"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1735824851,
"transactionHash": "0xa1d4a7b4eaff3accd51899984230d34d5219786f1de408d9ac6174552d852dad",
"implementations": [
"eth:0x0f32d8C0eB1cE4C5FFb1A6C4bb3b879D2184Ed11"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 1/1).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB408a216927d31A27fd96176dbF1B825630f0301#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 3, EOA 4\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xE390FB0dd0Ea7684F59210d791D63E7fc28BbF9b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE390FB0dd0Ea7684F59210d791D63E7fc28BbF9b#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherWrapped",
"wethAddress": "0x5A77f1443D16ee5761d310e38b62f77f726bC71c",
"tokensToAssignFromL1": [
"CAPS"
]
},
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x012f4baa6e0F5Ac4dFDF47BDdd9CF68a2B17821e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0xF8BE077b85C8553124918d4ECE132E0Fb634c86A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398987,
"transactionHash": "0xb5ac763936b2295e23b585a3d6dcaf820ebeb7ea7a77f22d1c637e6144b33466",
"implementations": [
"eth:0xF8BE077b85C8553124918d4ECE132E0Fb634c86A"
]
},
{
"timestamp": 1734091475,
"transactionHash": "0x9a9f680a935c2514123c19ab6f6a928ca46a102ec1129fa06850714aafe6ffa7",
"implementations": [
"eth:0x14E08A30B7Bb79c9777149f53e2dbBA58eBa1104"
]
},
{
"timestamp": 1734091955,
"transactionHash": "0xbd013fcec97c6e28b2ddabcb76b600d3c28d4ba966a2b1de6d02088025a9947c",
"implementations": [
"eth:0xF8BE077b85C8553124918d4ECE132E0Fb634c86A"
]
},
{
"timestamp": 1734092255,
"transactionHash": "0x76ec730181ff0f2f002c07941ca2433b9788f7773c948e295af6722beee9007e",
"implementations": [
"eth:0x14E08A30B7Bb79c9777149f53e2dbBA58eBa1104"
]
},
{
"timestamp": 1734092471,
"transactionHash": "0x1c58ba302b76a7b5f7cc1c3124223f9ba4c62e072ccdd9623dcfd88330e92244",
"implementations": [
"eth:0xF8BE077b85C8553124918d4ECE132E0Fb634c86A"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, EOA 2\n * **challenger**: EOA 3\n * **proposer**: EOA 4",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x012f4baa6e0F5Ac4dFDF47BDdd9CF68a2B17821e#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x5ff88fcF8e9947f45F4cAf8FFd5231B5DdF05e0A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x1554F55Bd54DAC8e8164C33ce156F13e9c0d1B46"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398855,
"transactionHash": "0x9e7cc379cee812fe05332fe4eaded9e377fe2531883ab076e1fa8f852d59dd85",
"implementations": [
"eth:0x1554F55Bd54DAC8e8164C33ce156F13e9c0d1B46"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, EOA 2\n * **guardian**: EOA 5",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5ff88fcF8e9947f45F4cAf8FFd5231B5DdF05e0A#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x7aC7e5989EaC278B7BbfeF560871a2026baD472c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0xB7a1e72da74DF4CB498Ded5c45653374A6CC7097"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398867,
"transactionHash": "0x70785a6ba14d5e485457b56d171368a85da169eb515def0fa300b597ee4378c3",
"implementations": [
"eth:0xB7a1e72da74DF4CB498Ded5c45653374A6CC7097"
]
}
],
"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 EOA 1, EOA 2\n * **batcherHash**: EOA 6\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7aC7e5989EaC278B7BbfeF560871a2026baD472c#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x34bb53D7C525114A27F0FE2aF91bdDAd186abb12",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x0F4D0486B8628Fb6351EE3E63a95e104dDB2FB0F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398507,
"transactionHash": "0xf063857a0c7b1f2efc289b9d1d93f9e67cb3ce2e78e853629dc662c467d2e55c",
"implementations": [
"eth:0x0F4D0486B8628Fb6351EE3E63a95e104dDB2FB0F"
]
}
],
"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 EOA 1, EOA 2\n * **guardian**: EOA 5",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34bb53D7C525114A27F0FE2aF91bdDAd186abb12#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x1b396e4dC6ECB0be33CF01C5a34E1a3a7D03c378",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0xfb5bE2d53F1429897c485C109A2A4Ae062C2A2ce"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398903,
"transactionHash": "0x6716df4e258d5e2f03e7ed08ad6462bf27bdc6ef68029f4f6f377f1389ec342a",
"implementations": [
"eth:0xfb5bE2d53F1429897c485C109A2A4Ae062C2A2ce"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1b396e4dC6ECB0be33CF01C5a34E1a3a7D03c378#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x807d21e416434ae92c8E5bcA4d506781aFbBa380",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x48455CB9bB2407C3e8De538B884bBec5aCbaa137"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398963,
"transactionHash": "0x8417696d2c0870b762581931c5af6f511e8f54da1621a6501ed5b9d021f074d0",
"implementations": [
"eth:0x48455CB9bB2407C3e8De538B884bBec5aCbaa137"
]
}
],
"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 EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x807d21e416434ae92c8E5bcA4d506781aFbBa380#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xD1B30378CBF968E5525e8835219A5726A1e71D10",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x1BcF2686F42e856520f0C16de82c2cF8bb50Ae77"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1B30378CBF968E5525e8835219A5726A1e71D10#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TBHMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xa641e14B685b5E652865e14A4fBc07e51371D124",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x343CC6af2CD31aF51655AE75D19D51ec49a89b7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398927,
"transactionHash": "0x2c283752247bcf5f1b5e85fafe5a36b7951400c9a5d3147efe8a7b2c77c345a7",
"implementations": [
"eth:0x343CC6af2CD31aF51655AE75D19D51ec49a89b7A"
]
}
],
"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 EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa641e14B685b5E652865e14A4fBc07e51371D124#code"
}
]
},
"escrows": [
{
"address": "0x5ff88fcF8e9947f45F4cAf8FFd5231B5DdF05e0A",
"sinceTimestamp": 1719398555,
"tokens": [
"ETH",
"BNRY"
],
"contract": {
"isVerified": true,
"address": "eth:0x5ff88fcF8e9947f45F4cAf8FFd5231B5DdF05e0A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x1554F55Bd54DAC8e8164C33ce156F13e9c0d1B46"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719398855,
"transactionHash": "0x9e7cc379cee812fe05332fe4eaded9e377fe2531883ab076e1fa8f852d59dd85",
"implementations": [
"eth:0x1554F55Bd54DAC8e8164C33ce156F13e9c0d1B46"
]
}
],
"description": "Main entry point for users depositing ETH, BNRY.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5ff88fcF8e9947f45F4cAf8FFd5231B5DdF05e0A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xD1B30378CBF968E5525e8835219A5726A1e71D10",
"sinceTimestamp": 1719398579,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xD1B30378CBF968E5525e8835219A5726A1e71D10",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38593Cce8FaB9887Ef9760f5F6aB3d6C595143cF"
],
"implementations": [
"eth:0x1BcF2686F42e856520f0C16de82c2cF8bb50Ae77"
]
},
"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/0xD1B30378CBF968E5525e8835219A5726A1e71D10#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x5e64D248Eab336AB3Fd0BeC0CFe31D4AAE32E879",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732199087,
"transactionHash": "0x7109114ff376281f357985c44c2473266a1a3d57a74cca110499279713c39241",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1732199087,
"transactionHash": "0x7109114ff376281f357985c44c2473266a1a3d57a74cca110499279713c39241",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1738686455,
"transactionHash": "0xa72f2fd2292abc5f4823ba17a3e1e622f71778d2e308b7da8b3d4bfc3d8f6f8f",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742933423,
"transactionHash": "0x0d39b66c0a194ce268eba8ea2883828caacbc62cb41ff972cea629bcb7ccd696",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: TreasureZkEvmAdmin; ultimately TreasureChainAdminMultisig\n * **validators**: ValidatorTimelock, ValidatorTimelock2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5e64D248Eab336AB3Fd0BeC0CFe31D4AAE32E879#code"
},
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0xdb3300726556AFA413A11aF474a8cFDa4D7fc5a5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implements the ZK proof verification logic.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdb3300726556AFA413A11aF474a8cFDa4D7fc5a5#code"
},
{
"name": "ValidiumL1DAValidator",
"isVerified": true,
"address": "eth:0x907b30407249949521Bf0c89A43558dae200146A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that 'verifies' the data availability for validiums. This implementation only checks the correct formatting and does not serve as a DA oracle. Can be used by ZK stack validiums as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x907b30407249949521Bf0c89A43558dae200146A#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "TreasureZkEvmAdmin",
"isVerified": true,
"address": "eth:0x97440Bf040f0dfA402cf5D4F1e0f574309Ace871",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets TreasureChainAdminMultisig act through it.\n* Roles:\n * **owner**: TreasureChainAdminMultisig\n * **tokenMultiplierSetter**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97440Bf040f0dfA402cf5D4F1e0f574309Ace871#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"MAGIC"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Treasure and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0xfC1d5dCD080121DaAF366625581ad490414EF294",
"l2EtherAddress": "0x650BE505C391d396A1e0b1f2337EaE77F064fF7f",
"tokensToAssignFromL1": [
"MAGIC"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v26",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/release-v26/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout release-v26`. Commit hash should be `f7ecdb91f7941a3be01ce08bf6a2e4a5fb02a8d5`.\n2. Execute `pushd da-contracts && forge clean && popd && pushd l1-contracts && yarn clean && forge clean && popd && pushd l2-contracts && yarn clean && forge clean && popd && pushd system-contracts && yarn clean && forge clean && popd && pushd da-contracts && yarn build:foundry && popd && pushd l1-contracts && yarn build:foundry && popd && pushd l2-contracts && yarn build:foundry && popd && pushd system-contracts && yarn build:foundry && popd && yarn calculate-hashes:fix` to recompile all contracts and compare their hashes with the ones recorded in `AllContractsHashes.json` (note that script output calls this file `SystemContractsHashes.json`).\n ",
"hash": "0x0100088580465d88420e6369230ee94a32ff356dbcdd407a4be49fc8009b2a81"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748347,
"transactionHash": "0x1623e586faeda506c832de15a948fd9c9d34da18c0ed5bbfc095dc1c0621f936",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xEFEd7F38BB9BE74bBa583a1A5B7D0fe7C9D5787a"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"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 FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0bd48f6B86a26D3a217d0Fa6FfE2B491B956A7a2#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x2F12d621a16e2d3285929C9996f478508951dFe4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748467,
"transactionHash": "0x742808a336fb214d362e781aae88a3f818ba00a363900e7ca1915f0996b2060a",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"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 UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2F12d621a16e2d3285929C9996f478508951dFe4#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xc407398d063f942feBbcC6F80a156b47F3f1BDA6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748359,
"transactionHash": "0xb9a9cca69cc08ba53aeb94e99695bbaec8c54a6431b258d2bca5d73a51663df9",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1742397851,
"transactionHash": "0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1742397851,
"transactionHash": "0x191505a1bff29cc42fe5a1eb1888170c5241d552d7028d26ec3e54980980cf16",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xFaA660bf783CBAa55e1B7F3475C20Db74a53b9Fa"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"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 UnichainProxyAdminOwner\n * **batcherHash**: EOA 1\n * **owner**: Unichain Multisig 2",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc407398d063f942feBbcC6F80a156b47F3f1BDA6#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"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 UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748455,
"transactionHash": "0x9efd53c7ecef0094ea6cd3a05d346daaee4a6c71c0dc69758bcdbac26b9ca9ef",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xD26bB3aaAa4cB5638A8581A4c4b1d937D8E05c54"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"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 UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9A3D64E386C18Cb1d6d5179a9596A4B5736e98A6#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748407,
"transactionHash": "0xb432a9b2f5b368a884c3a0d0708bf6949d38d8102b35bba9fa4d21c12865e601",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745543531,
"transactionHash": "0xc74c5e0dddfa9e2d0fd5d902fb7b1aa4cc28ba034ebed7bf3a0aa3a8b8d21b20",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x25d6CeDEB277Ad7ebEe71226eD7877768E0B7A2F"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD04D0D87E0bd4D2E50286760a3EF323FeA6849Cf#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "ETHLockbox",
"isVerified": true,
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "A simple escrow contract storing ETH for the canonical bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"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 UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0bdbEc6bd35571F97f96f3ed21822a4f2e071A3c#code"
},
{
"name": "Escrow",
"isVerified": true,
"address": "eth:0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A",
"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/0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"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 FaultDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x27Cf508E4E3Aa8d30b3226aC3b5Ea0e8bcaCAFF9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UnichainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 2mo 10d while making sure that the threshold remains above 60%. If the number of members falls below 1, the 0x0000000000000000000000000000000000000000 takes ownership of the multisig\n* Roles:\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4B4F1aF8d43C8c140D2355Fea663fC9f762067C2#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "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": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739519603,
"transactionHash": "0x09f1292f517ff6453a28592ca3def9cfcc55d8738877af3b9830f0c457009c02",
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
}
],
"description": "Lido custom escrow for wstETH tokens that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1730748419,
"transactionHash": "0x14bd9cb3f3d081f9b569dfeccac4821a21e4fe65b0c1a1b1b80f0369cca63695",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1744485539,
"transactionHash": "0x7e5e478cafbe30293645e6972a477f77dcfdc006c4cf1dd248a94e6386d04159",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764106535,
"transactionHash": "0x7c9e6b65258838fb38bc0bf584cb0c0802bc0dfbbe877a8639880e2ed88b3aa6",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770744623,
"transactionHash": "0x5672a02ba8c40bd35c87787ceddff5181c588e697a1924be6ea061af71cbb4ca",
"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 UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA2B597EaeAcb6F627e088cbEaD319e934ED5edad#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759437959,
"transactionHash": "0xc98240172fa3950ec9c62f32cc09d0eb0ed21684b02f1b2677357674cda64ca5",
"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 UnichainProxyAdminOwner",
"upgradableBy": [
{
"name": "UnichainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe62B0279f6A466C5E1676f3ea955086300Bcd0Ac#code"
}
],
"unichain": [
{
"name": "DeployerWhitelist",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0d3c0d3C0d3c0D3c0d3C0D3c0d3C0d3c0D30002"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network. Fully unused and deprecated since the Bedrock upgrade.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000002#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "unichain",
"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**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": true,
"address": "unichain:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
"chain": "unichain",
"references": [
{
"title": "Source Code",
"url": "https://unichain.blockscout.com/address/0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
}
],
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"unichain:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"unichain:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
}
],
"description": "* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
]
},
"chain": "unichain",
"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**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3C0d3c0d3c0d3C0D3c0d3C0D3c0d3c0D30011"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0D3c0d3C0d3c0d3c0D3c0d3c0D3c0D3c0D30012"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
]
},
"chain": "unichain",
"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**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "unichain",
"references": [
{
"title": "Source Code",
"url": "https://unichain.blockscout.com/address/0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
}
],
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"unichain:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"unichain:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
}
],
"description": "* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "unichain",
"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**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Administration contract for other contract proxies.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias\n * **owner**: UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0d3c0D3c0d3C0D3C0D3C0d3c0D3C0D3c0d30019"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "unichain:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0D3c0D3C0d3c0d3c0d3C0d3c0d3C0d3C0D3001A"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "unichain:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"unichain:0x4200000000000000000000000000000000000018"
],
"implementations": [
"unichain:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021"
]
},
"chain": "unichain",
"pastUpgrades": [],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately UnichainProxyAdminOwner_L2Alias",
"upgradableBy": [
{
"id": "UnichainProxyAdminOwner_L2Alias",
"name": "UnichainProxyAdminOwner_L2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4200000000000000000000000000000000000021#code"
},
{
"name": "FeeSplitter",
"isVerified": true,
"address": "unichain:0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300c0D3c0d3c0d3c0d3c0d3C0D3c0d3c0d30001#code"
},
{
"name": "L1Splitter",
"isVerified": true,
"address": "unichain:0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa).\n",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300C0D3C0D3C0D3C0d3C0d3c0d3C0d3C0d30002#code"
},
{
"name": "L1Splitter",
"isVerified": true,
"address": "unichain:0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "Automatically collects ETH on L2 and periodically bridges it back to Ethereum Layer 1 to a specified recipient address (0x7078c4537C04c2b2E52ddBa06074dBdACF23cA15).\n",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300c0d3c0d3c0D3c0d3C0D3c0d3C0D3C0D30003#code"
},
{
"name": "NetFeeSplitter",
"isVerified": true,
"address": "unichain:0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "unichain",
"description": "",
"discoveryDrivenData": true,
"url": "https://uniscan.xyz/address/0x4300c0D3c0D3c0D3c0D3c0D3C0D3c0d3c0D30004#code"
}
]
},
"escrows": [
{
"address": "0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"sinceTimestamp": 1753380731,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753380731,
"transactionHash": "0x1f1f283ad793a901a94e11241d46b87cd264b2e276a690b9554148ba56c57959",
"implementations": [
"eth:0x784d2F03593A42A6E4676A012762F18775ecbBe6"
]
}
],
"description": "Main escrow for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x08bA0023eD60C7Bd040716dD13C45fA0062df5C5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"sinceTimestamp": 1730748227,
"tokens": "*",
"excludedTokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3B73Fa8d82f511A3caE17B5a26E4E1a2d5E2f2A4"
],
"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/0x81014F44b0a345033bB2b3B21C7a1A308B35fEeA#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"sinceTimestamp": 1739519603,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739519603,
"transactionHash": "0x09f1292f517ff6453a28592ca3def9cfcc55d8738877af3b9830f0c457009c02",
"implementations": [
"eth:0x6078232C54d956c901620fa4590e0F7E37c2B82f"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x755610f5Be536Ad7afBAa7c10F3E938Ea3aa1877#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A",
"sinceTimestamp": 1745940647,
"tokens": [
"USDS",
"sUSDS"
],
"contract": {
"isVerified": true,
"address": "eth:0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A",
"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/0x1196F688C585D3E5C895Ef8954FFB0dCDAfc566A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}
+8 -4
+2 -2
{
"arbitrum": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [],
"actors": [
{
"id": "Avail Multisig 1",
"name": "Avail Multisig 1",
"description": "A Multisig with 4/7 threshold. \n* Can upgrade **with no delay**\n * Vector \n* Can upgrade **with 1d delay**\n * AvailBridgeV1 [via: TimelockController with 1d delay → ProxyAdmin]\n* Can interact with Vector\n * can freeze the Vector contract and update the list of authorized relayers \n* Can interact with AvailBridgeV1\n * manage the pauser role and all other access control configurations, set the address of the target contract for DA verification, manage fees **with 1d delay** [via: TimelockController with 1d delay]\n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 1d delay or with no delay** [via: TimelockController with 1d delay - or - acting directly]\n * propose transactions ",
"accounts": [
{
"address": "eth:0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666",
"type": "Contract",
"isVerified": true,
"name": "0x7F2f…3666",
"url": "https://etherscan.io/address/0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x70a4F624A4E62C539abf0002634377b646612b1C",
"type": "EOA",
"isVerified": true,
"name": "0x70a4…2b1C",
"url": "https://etherscan.io/address/0x70a4F624A4E62C539abf0002634377b646612b1C"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
},
{
"address": "eth:0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2",
"type": "EOA",
"isVerified": true,
"name": "0xBe1D…78A2",
"url": "https://etherscan.io/address/0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 2",
"name": "Avail Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with AvailBridgeV1\n * pause the bridge ",
"accounts": [
{
"address": "eth:0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930",
"type": "Contract",
"isVerified": true,
"name": "0x1a5B…8930",
"url": "https://etherscan.io/address/0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE458b870F2F59a49915591282f1Bb688901767AD",
"type": "EOA",
"isVerified": true,
"name": "0xE458…67AD",
"url": "https://etherscan.io/address/0xE458b870F2F59a49915591282f1Bb688901767AD"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
}
],
"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": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D",
"type": "EOA",
"isVerified": true,
"name": "0x27BF…787D",
"url": "https://etherscan.io/address/0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D"
}
],
"chain": "ethereum",
"description": "* Can interact with Vector\n * it is a ‘Relayer’ and can call commitHeaderRange() to commit block ranges to the Vector contract. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
}
}
+6 -2
{
"addresses": {
"ethereum": [
{
"name": "AvailBridgeV1",
"isVerified": true,
"address": "eth:0x054fd961708D8E2B9c10a63F6157c74458889F0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B"
],
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720568903,
"transactionHash": "0x980ea7f295336624f103c47b5ec482f90c2c90f4b7d05140ceb5d40aa077963c",
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
}
],
"description": "Bridge contract that verifies merkle proofs of inclusion in the proven data of the Vector DA- and arbitrary message bridge. Also used for token- and arbitrary message transfers between Avail and Ethereum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Avail Multisig 1\n * **defaultAdmin**: TimelockController; ultimately Avail Multisig 1\n * **pauser**: Avail Multisig 2",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "1d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x054fd961708D8E2B9c10a63F6157c74458889F0a#code"
},
{
"name": "Vector",
"isVerified": true,
"address": "eth:0x02993cdC11213985b9B13224f3aF289F03bf298d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720128227,
"transactionHash": "0x6c2c609d7a13fbdad53b1530d34d740ffa36653f29b5f14220429d7c0d6a3ffc",
"implementations": [
"eth:0x2434564f3524b44258B11643729343Ef57D60989"
]
},
{
"timestamp": 1721438975,
"transactionHash": "0x13d7977b9fca12882ea6ba47ce1b20a87de540c358b5e260584e0d921e786f5e",
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
}
],
"description": "The Vector bridge contract that accepts and stores Avail data availability commitments on Ethereum.\n* Roles:\n * **guardians**: Avail Multisig 1\n * **relayers**: EOA 1\n * **timelocks**: Avail Multisig 1",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02993cdC11213985b9B13224f3aF289F03bf298d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36194271a00dBBBae314E83dA56d0FF75fDa367B#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x45828180bbE489350D621d002968A0585406d487",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d.\n* Roles:\n * **canceller**: Avail Multisig 1\n * **defaultAdmin**: Avail Multisig 1, TimelockController; ultimately Avail Multisig 1\n * **executor**: Avail Multisig 1\n * **proposer**: Avail Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45828180bbE489350D621d002968A0585406d487#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": "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": "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"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
}
]
},
"programHashes": [
{
"title": "Avail VectorX DA bridge program",
"description": "ZK-friendly implementation of Avail Vector DA bridge that proves that a given data root was finalized on Avail.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "notVerified",
"hash": "0x0057b7de6dcd8ff25e7b41089f4b5fa586067fbb107756d1f66d92fe71dd6ad1"
}
],
"risks": [
{
"category": "Funds can be lost if",
"text": "the bridge contract or its dependencies receive a malicious code upgrade. There is no delay on code upgrades."
},
{
"category": "Funds can be frozen if",
"text": "the bridge contract is frozen by the Guardian (AvailMultisig)."
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
]
}
+4 -4
+2 -2
{
"arbitrum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "arb1:0x336dD5a1aB948058E4c699fD7732c2AA78C10d90",
"type": "EOA",
"isVerified": true,
"name": "EOA 6",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x4e597125DB0aDC355F084d09B945DBfc6B8e9BE5",
"type": "EOA",
"isVerified": true,
"name": "EOA 7",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x50A4EB12BFbf3B83FFb5c2a6378e35Cd83e6d885",
"type": "EOA",
"isVerified": true,
"name": "EOA 8",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x50E91cb65a605E1b8B73be1fD558Fe40aBE59A31",
"type": "EOA",
"isVerified": true,
"name": "EOA 9",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x54A51C10a3EF82Cb6B0fB6B1418882472e56Ff1a",
"type": "EOA",
"isVerified": true,
"name": "EOA 10",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x79F4b4f9103298460486EC644499Df9985E34170",
"type": "EOA",
"isVerified": true,
"name": "EOA 12",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x7CD925c107dE5C06C100F2084bFA0422F21140f0",
"type": "EOA",
"isVerified": true,
"name": "EOA 14",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0x936cCC684c091b20806fA3C6668F7F1fD2B3C772",
"type": "EOA",
"isVerified": true,
"name": "EOA 16",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0xa65100caA20c06Bd278D83C60475ec4F69b23dc1",
"type": "EOA",
"isVerified": true,
"name": "EOA 17",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0xbE119cCc44373B15517e921e9a7D54362250662D",
"type": "EOA",
"isVerified": true,
"name": "EOA 19",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0xCe957F6aFadFFA08dAa90cE5b47208C02a9b9B4F",
"type": "EOA",
"isVerified": true,
"name": "EOA 21",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0xD327b75C2CA829835b2B5EA9535827e9a06a480B",
"type": "EOA",
"isVerified": true,
"name": "EOA 22",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0xD6433a681832BD2020fc6d984Efb5f57fe9ac155",
"type": "EOA",
"isVerified": true,
"name": "EOA 24",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
},
{
"address": "arb1:0xE31C47980a005B6E6d6c93212388ff7e9721D2Fc",
"type": "EOA",
"isVerified": true,
"name": "EOA 26",
"url": "#EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "arb1:0x0C79a90C94E1C1091D7D3a188730105be00798f9",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
},
{
"address": "arb1:0x026919DbCFab70a2A45775088C933331A7B25Ac6",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0x053970A9AA9638F54370764E6E9c7B2f5854Ef21",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0x1B15bb40898Ca818E28C0448Ebac4165d5Dd0b5E",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0x6963d94D76D5315158B47DE0B0Ce1fd6E0F61bcB",
"type": "EOA",
"isVerified": true,
"name": "EOA 11",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0x7Be767aFca580360eBD3dAD924B4D688daBCdaD7",
"type": "EOA",
"isVerified": true,
"name": "EOA 13",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0x83433d51B327392aA694455231D2db092eE2A5Db",
"type": "EOA",
"isVerified": true,
"name": "EOA 15",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xB180d28c01D3248C3fa88d67154a5070e5039135",
"type": "EOA",
"isVerified": true,
"name": "EOA 18",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xC929c820dC03C2a22e44F440721Af3c835e071fc",
"type": "EOA",
"isVerified": true,
"name": "EOA 20",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xD47FB043557CB2289B31d813dd4BC1223C91f872",
"type": "EOA",
"isVerified": true,
"name": "EOA 23",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xd76a3aCEd4115B017301C54C211EC36aA5E37e05",
"type": "EOA",
"isVerified": true,
"name": "EOA 25",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xe7685c09633B47Fe123ff47ebeA903C3763924a2",
"type": "EOA",
"isVerified": true,
"name": "EOA 27",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xEBe1766201dd69A09a2953B08081829E90f4a8d3",
"type": "EOA",
"isVerified": true,
"name": "EOA 28",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
},
{
"address": "arb1:0xf8b74E847cCa2EfF5E939B9B948Bf889F3DC0822",
"type": "EOA",
"isVerified": true,
"name": "EOA 29",
"url": "#EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
},
{
"id": "AnyTrust FastConfirmer",
"name": "AnyTrust FastConfirmer",
"description": "Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.",
"accounts": [
{
"address": "arb1:0x0C79a90C94E1C1091D7D3a188730105be00798f9",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Conduit Multisig 2",
"name": "Conduit Multisig 2",
"description": "A Multisig with 4/11 threshold. \n* Can upgrade **with no delay**\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56",
"type": "Contract",
"isVerified": true,
"name": "0x79C2…3F56",
"url": "https://arbiscan.io/address/0x79C2abE3eBA9dc119318FdAaA48118e1CDB53F56"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07",
"type": "EOA",
"isVerified": true,
"name": "0x3816…Cf07",
"url": "https://arbiscan.io/address/0x381624F7912BddD83dc67c6C53Ef6FE61B87Cf07"
},
{
"address": "arb1:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://arbiscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "arb1:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://arbiscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "arb1:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007",
"type": "EOA",
"isVerified": true,
"name": "0x65D1…6007",
"url": "https://arbiscan.io/address/0x65D1d44B8B2fE15d45A03708E0835C7E98a56007"
},
{
"address": "arb1:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://arbiscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "arb1:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://arbiscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "arb1:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://arbiscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "arb1:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://arbiscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
},
{
"address": "arb1:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f",
"type": "EOA",
"isVerified": true,
"name": "0x3840…Fd5f",
"url": "https://arbiscan.io/address/0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f"
},
{
"address": "arb1:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://arbiscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "arb1:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://arbiscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
}
],
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * ArbitrumBlobstream \n* Can interact with ArbitrumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997",
"type": "Contract",
"isVerified": true,
"name": "0x738a…7997",
"url": "https://arbiscan.io/address/0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://arbiscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "arb1:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://arbiscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
},
{
"address": "arb1:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://arbiscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "arb1:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://arbiscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "arb1:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://arbiscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "arb1:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://arbiscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
}
],
"discoveryDrivenData": true
},
{
"id": "WinrFastconfirmerMultisig",
"name": "WinrFastconfirmerMultisig",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "arb1:0x8E4d378F7FB7CA940d88682B6f057b81D0495Cf4",
"type": "Contract",
"isVerified": true,
"name": "0x8E4d…5Cf4",
"url": "https://arbiscan.io/address/0x8E4d378F7FB7CA940d88682B6f057b81D0495Cf4"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x0C79a90C94E1C1091D7D3a188730105be00798f9",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0x487fb70F28cEb4f320f2D72ed859cEEdC1B8C648",
"type": "EOA",
"isVerified": true,
"name": "0x487f…C648",
"url": "https://arbiscan.io/address/0x487fb70F28cEb4f320f2D72ed859cEEdC1B8C648"
}
],
"chain": "arbitrum",
"description": "* Can upgrade **with no delay**\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "arb1:0x0C79a90C94E1C1091D7D3a188730105be00798f9",
"type": "EOA",
"isVerified": true,
"name": "0x0C79…98f9",
"url": "https://arbiscan.io/address/0x0C79a90C94E1C1091D7D3a188730105be00798f9"
}
],
"chain": "arbitrum",
"description": "Member of WinrFastconfirmerMultisig.\n* A FastConfirmer WinrFastconfirmerMultisig\n* A Validator - acting directly\n* A Validator WinrFastconfirmerMultisig",
"discoveryDrivenData": true
},
{
"id": "EOA-3,-EOA-4,-EOA-5,-EOA-11,-EOA-13,-EOA-15,-EOA-18,-EOA-20,-EOA-23,-EOA-25,-EOA-27,-EOA-28-and-EOA-29",
"name": "EOA 3, EOA 4, EOA 5, EOA 11, EOA 13, EOA 15, EOA 18, EOA 20, EOA 23, EOA 25, EOA 27, EOA 28 and EOA 29",
"accounts": [
{
"address": "arb1:0x026919DbCFab70a2A45775088C933331A7B25Ac6",
"type": "EOA",
"isVerified": true,
"name": "0x0269…5Ac6",
"url": "https://arbiscan.io/address/0x026919DbCFab70a2A45775088C933331A7B25Ac6"
},
{
"address": "arb1:0x053970A9AA9638F54370764E6E9c7B2f5854Ef21",
"type": "EOA",
"isVerified": true,
"name": "0x0539…Ef21",
"url": "https://arbiscan.io/address/0x053970A9AA9638F54370764E6E9c7B2f5854Ef21"
},
{
"address": "arb1:0x1B15bb40898Ca818E28C0448Ebac4165d5Dd0b5E",
"type": "EOA",
"isVerified": true,
"name": "0x1B15…0b5E",
"url": "https://arbiscan.io/address/0x1B15bb40898Ca818E28C0448Ebac4165d5Dd0b5E"
},
{
"address": "arb1:0x6963d94D76D5315158B47DE0B0Ce1fd6E0F61bcB",
"type": "EOA",
"isVerified": true,
"name": "0x6963…1bcB",
"url": "https://arbiscan.io/address/0x6963d94D76D5315158B47DE0B0Ce1fd6E0F61bcB"
},
{
"address": "arb1:0x7Be767aFca580360eBD3dAD924B4D688daBCdaD7",
"type": "EOA",
"isVerified": true,
"name": "0x7Be7…daD7",
"url": "https://arbiscan.io/address/0x7Be767aFca580360eBD3dAD924B4D688daBCdaD7"
},
{
"address": "arb1:0x83433d51B327392aA694455231D2db092eE2A5Db",
"type": "EOA",
"isVerified": true,
"name": "0x8343…A5Db",
"url": "https://arbiscan.io/address/0x83433d51B327392aA694455231D2db092eE2A5Db"
},
{
"address": "arb1:0xB180d28c01D3248C3fa88d67154a5070e5039135",
"type": "EOA",
"isVerified": true,
"name": "0xB180…9135",
"url": "https://arbiscan.io/address/0xB180d28c01D3248C3fa88d67154a5070e5039135"
},
{
"address": "arb1:0xC929c820dC03C2a22e44F440721Af3c835e071fc",
"type": "EOA",
"isVerified": true,
"name": "0xC929…71fc",
"url": "https://arbiscan.io/address/0xC929c820dC03C2a22e44F440721Af3c835e071fc"
},
{
"address": "arb1:0xD47FB043557CB2289B31d813dd4BC1223C91f872",
"type": "EOA",
"isVerified": true,
"name": "0xD47F…f872",
"url": "https://arbiscan.io/address/0xD47FB043557CB2289B31d813dd4BC1223C91f872"
},
{
"address": "arb1:0xd76a3aCEd4115B017301C54C211EC36aA5E37e05",
"type": "EOA",
"isVerified": true,
"name": "0xd76a…7e05",
"url": "https://arbiscan.io/address/0xd76a3aCEd4115B017301C54C211EC36aA5E37e05"
},
{
"address": "arb1:0xe7685c09633B47Fe123ff47ebeA903C3763924a2",
"type": "EOA",
"isVerified": true,
"name": "0xe768…24a2",
"url": "https://arbiscan.io/address/0xe7685c09633B47Fe123ff47ebeA903C3763924a2"
},
{
"address": "arb1:0xEBe1766201dd69A09a2953B08081829E90f4a8d3",
"type": "EOA",
"isVerified": true,
"name": "0xEBe1…a8d3",
"url": "https://arbiscan.io/address/0xEBe1766201dd69A09a2953B08081829E90f4a8d3"
},
{
"address": "arb1:0xf8b74E847cCa2EfF5E939B9B948Bf889F3DC0822",
"type": "EOA",
"isVerified": true,
"name": "0xf8b7…0822",
"url": "https://arbiscan.io/address/0xf8b74E847cCa2EfF5E939B9B948Bf889F3DC0822"
}
],
"chain": "arbitrum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-12,-EOA-14,-EOA-16,-EOA-17,-EOA-19,-EOA-21,-EOA-22,-EOA-24-and-EOA-26",
"name": "EOA 6, EOA 7, EOA 8, EOA 9, EOA 10, EOA 12, EOA 14, EOA 16, EOA 17, EOA 19, EOA 21, EOA 22, EOA 24 and EOA 26",
"accounts": [
{
"address": "arb1:0x336dD5a1aB948058E4c699fD7732c2AA78C10d90",
"type": "EOA",
"isVerified": true,
"name": "0x336d…0d90",
"url": "https://arbiscan.io/address/0x336dD5a1aB948058E4c699fD7732c2AA78C10d90"
},
{
"address": "arb1:0x4e597125DB0aDC355F084d09B945DBfc6B8e9BE5",
"type": "EOA",
"isVerified": true,
"name": "0x4e59…9BE5",
"url": "https://arbiscan.io/address/0x4e597125DB0aDC355F084d09B945DBfc6B8e9BE5"
},
{
"address": "arb1:0x50A4EB12BFbf3B83FFb5c2a6378e35Cd83e6d885",
"type": "EOA",
"isVerified": true,
"name": "0x50A4…d885",
"url": "https://arbiscan.io/address/0x50A4EB12BFbf3B83FFb5c2a6378e35Cd83e6d885"
},
{
"address": "arb1:0x50E91cb65a605E1b8B73be1fD558Fe40aBE59A31",
"type": "EOA",
"isVerified": true,
"name": "0x50E9…9A31",
"url": "https://arbiscan.io/address/0x50E91cb65a605E1b8B73be1fD558Fe40aBE59A31"
},
{
"address": "arb1:0x54A51C10a3EF82Cb6B0fB6B1418882472e56Ff1a",
"type": "EOA",
"isVerified": true,
"name": "0x54A5…Ff1a",
"url": "https://arbiscan.io/address/0x54A51C10a3EF82Cb6B0fB6B1418882472e56Ff1a"
},
{
"address": "arb1:0x79F4b4f9103298460486EC644499Df9985E34170",
"type": "EOA",
"isVerified": true,
"name": "0x79F4…4170",
"url": "https://arbiscan.io/address/0x79F4b4f9103298460486EC644499Df9985E34170"
},
{
"address": "arb1:0x7CD925c107dE5C06C100F2084bFA0422F21140f0",
"type": "EOA",
"isVerified": true,
"name": "0x7CD9…40f0",
"url": "https://arbiscan.io/address/0x7CD925c107dE5C06C100F2084bFA0422F21140f0"
},
{
"address": "arb1:0x936cCC684c091b20806fA3C6668F7F1fD2B3C772",
"type": "EOA",
"isVerified": true,
"name": "0x936c…C772",
"url": "https://arbiscan.io/address/0x936cCC684c091b20806fA3C6668F7F1fD2B3C772"
},
{
"address": "arb1:0xa65100caA20c06Bd278D83C60475ec4F69b23dc1",
"type": "EOA",
"isVerified": true,
"name": "0xa651…3dc1",
"url": "https://arbiscan.io/address/0xa65100caA20c06Bd278D83C60475ec4F69b23dc1"
},
{
"address": "arb1:0xbE119cCc44373B15517e921e9a7D54362250662D",
"type": "EOA",
"isVerified": true,
"name": "0xbE11…662D",
"url": "https://arbiscan.io/address/0xbE119cCc44373B15517e921e9a7D54362250662D"
},
{
"address": "arb1:0xCe957F6aFadFFA08dAa90cE5b47208C02a9b9B4F",
"type": "EOA",
"isVerified": true,
"name": "0xCe95…9B4F",
"url": "https://arbiscan.io/address/0xCe957F6aFadFFA08dAa90cE5b47208C02a9b9B4F"
},
{
"address": "arb1:0xD327b75C2CA829835b2B5EA9535827e9a06a480B",
"type": "EOA",
"isVerified": true,
"name": "0xD327…480B",
"url": "https://arbiscan.io/address/0xD327b75C2CA829835b2B5EA9535827e9a06a480B"
},
{
"address": "arb1:0xD6433a681832BD2020fc6d984Efb5f57fe9ac155",
"type": "EOA",
"isVerified": true,
"name": "0xD643…c155",
"url": "https://arbiscan.io/address/0xD6433a681832BD2020fc6d984Efb5f57fe9ac155"
},
{
"address": "arb1:0xE31C47980a005B6E6d6c93212388ff7e9721D2Fc",
"type": "EOA",
"isVerified": true,
"name": "0xE31C…D2Fc",
"url": "https://arbiscan.io/address/0xE31C47980a005B6E6d6c93212388ff7e9721D2Fc"
}
],
"chain": "arbitrum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-30-and-EOA-31",
"name": "EOA 30 and EOA 31",
"accounts": [
{
"address": "arb1:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://arbiscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "arb1:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://arbiscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "arbitrum",
"description": "* Can interact with ArbitrumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"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 ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * BaseBlobstream \n* Can interact with BaseBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6",
"type": "Contract",
"isVerified": true,
"name": "0x6ABa…1Ca6",
"url": "https://basescan.org/address/0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://basescan.org/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "base:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://basescan.org/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "base:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://basescan.org/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "base:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://basescan.org/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "base:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://basescan.org/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "base:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://basescan.org/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-32-and-EOA-33",
"name": "EOA 32 and EOA 33",
"accounts": [
{
"address": "base:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://basescan.org/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "base:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://basescan.org/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "base",
"description": "* Can interact with BaseBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [],
"actors": [
{
"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": "BlobstreamMultisig",
"name": "BlobstreamMultisig",
"description": "A Multisig with 4/6 threshold. \n* Can upgrade **with no delay**\n * EthereumBlobstream \n* Can interact with EthereumBlobstream\n * can freeze the bridge contract and update the list of authorized relayers ",
"accounts": [
{
"address": "eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6",
"type": "Contract",
"isVerified": true,
"name": "0x8bF3…18E6",
"url": "https://etherscan.io/address/0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0449689f2ce80fE45B32092e0d878ad87F0156a9",
"type": "EOA",
"isVerified": true,
"name": "0x0449…56a9",
"url": "https://etherscan.io/address/0x0449689f2ce80fE45B32092e0d878ad87F0156a9"
},
{
"address": "eth:0x793979789Ec179183E396e76c1e241bE0c9eE899",
"type": "EOA",
"isVerified": true,
"name": "0x7939…E899",
"url": "https://etherscan.io/address/0x793979789Ec179183E396e76c1e241bE0c9eE899"
},
{
"address": "eth:0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf",
"type": "EOA",
"isVerified": true,
"name": "0x1358…7caf",
"url": "https://etherscan.io/address/0x1358eaCFE3a7F4FEB06c0Ae722072F134bcE7caf"
},
{
"address": "eth:0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0",
"type": "EOA",
"isVerified": true,
"name": "0x4587…D1b0",
"url": "https://etherscan.io/address/0x45878fdF56B372D944c6Fc1865B7a65462f6D1b0"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
},
{
"address": "eth:0x91D456f83f4a117B07866fdEdC29306f7E974e15",
"type": "EOA",
"isVerified": true,
"name": "0x91D4…4e15",
"url": "https://etherscan.io/address/0x91D456f83f4a117B07866fdEdC29306f7E974e15"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-34-and-EOA-35",
"name": "EOA 34 and EOA 35",
"accounts": [
{
"address": "eth:0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D",
"type": "EOA",
"isVerified": true,
"name": "0x3243…392D",
"url": "https://etherscan.io/address/0x3243552F3BcbcE720Db6f5ad0C1B7cd15458392D"
},
{
"address": "eth:0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC",
"type": "EOA",
"isVerified": true,
"name": "0x9c0B…afDC",
"url": "https://etherscan.io/address/0x9c0B0dBBAe8a976CEeA8C2A96F6D00c53839afDC"
}
],
"chain": "ethereum",
"description": "* Can interact with EthereumBlobstream\n * it is a 'Relayer' and can call commitHeaderRange() to commit block ranges. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
}
}
+2 -2
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x0E40E41E6095A4f0607144a52d31C2F11a3FF1a1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x78C5D1C5794C61122d2F4fEfc441B5d69e0a1Df0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
{
"timestamp": 1737569829,
"transactionHash": "0xf99dd58af041164dc6a225a760822c2d28d41e836754dd84eefd9e4445a49791",
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
},
{
"timestamp": 1747088324,
"transactionHash": "0xe3dc71cb07fe7af204af6862884be9162b11cc7455660ff2be9562a12afd604c",
"implementations": [
"arb1:0x78C5D1C5794C61122d2F4fEfc441B5d69e0a1Df0"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0E40E41E6095A4f0607144a52d31C2F11a3FF1a1#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x2633ea91d15BeE85105C9b27E068f406F2F36a4a",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xc5d17f6e0025a23c0AAFf7832Cc531B3034602DA"
],
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1737569829,
"transactionHash": "0xf99dd58af041164dc6a225a760822c2d28d41e836754dd84eefd9e4445a49791",
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **anyTrustFastConfirmer**: WinrFastconfirmerMultisig; ultimately EOA 2\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **validators**: EOA 11, EOA 13, EOA 15, EOA 18, EOA 2, EOA 20, EOA 23, EOA 25, EOA 27, EOA 28, EOA 29, EOA 3, EOA 4, EOA 5, WinrFastconfirmerMultisig; ultimately EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2633ea91d15BeE85105C9b27E068f406F2F36a4a#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x8AeDdE55Cb361e73a0B0c0cF2A5bB35E97a20456",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x2CBa47e7734De9568C568C5b1b238B491Afbf73b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
{
"timestamp": 1747088324,
"transactionHash": "0xe3dc71cb07fe7af204af6862884be9162b11cc7455660ff2be9562a12afd604c",
"implementations": [
"arb1:0x2CBa47e7734De9568C568C5b1b238B491Afbf73b"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **batchPosters**: EOA 10, EOA 12, EOA 14, EOA 16, EOA 17, EOA 19, EOA 21, EOA 22, EOA 24, EOA 26, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8AeDdE55Cb361e73a0B0c0cF2A5bB35E97a20456#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xF3f01622Ac969156760c32190995F9dC5b3eb7FA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF3f01622Ac969156760c32190995F9dC5b3eb7FA#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xc5d17f6e0025a23c0AAFf7832Cc531B3034602DA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **executors**: Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc5d17f6e0025a23c0AAFf7832Cc531B3034602DA#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x4FeBaEF286Ca477402dafCEeB17C64de481aFB42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x2d682d33762eCd73fF07d1a7Ad95a06faE40CF44"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
{
"timestamp": 1747088324,
"transactionHash": "0xe3dc71cb07fe7af204af6862884be9162b11cc7455660ff2be9562a12afd604c",
"implementations": [
"arb1:0x2d682d33762eCd73fF07d1a7Ad95a06faE40CF44"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4FeBaEF286Ca477402dafCEeB17C64de481aFB42#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xBA99217992620b76aae0D574c70bD313B30D3D1d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xBA99217992620b76aae0D574c70bD313B30D3D1d#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x07d24d32D8F522793faEEebA16BbB97441664374",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x07d24d32D8F522793faEEebA16BbB97441664374#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x3524251c60e04889bB578fE6B2e2Ad86C6Fc48ad",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3524251c60e04889bB578fE6B2e2Ad86C6Fc48ad#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x74D50DbaCfef02d3dAC141b0bC40195886d7ECF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (ArbitrumBlobstream) as source of truth for the DA referenced by the fault proof.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x74D50DbaCfef02d3dAC141b0bC40195886d7ECF7#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x759dbcB5E12E6bA091919c94BAa70A4797fd3D0d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x759dbcB5E12E6bA091919c94BAa70A4797fd3D0d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x802c7B6585d20cb69524EF23fCbF919F671F808a#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xe966442c0E8F28C48eF4F02BfF7a29876Dcd30CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe966442c0E8F28C48eF4F02BfF7a29876Dcd30CC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xf951C50162Ce1aEC93464aCFe90F755EC9878b5f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf951C50162Ce1aEC93464aCFe90F755EC9878b5f#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 30, EOA 31",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"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://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 32, EOA 33",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"ethereum": [
{
"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": "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": "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": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 34, EOA 35",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
]
},
"escrows": [
{
"address": "0xF3f01622Ac969156760c32190995F9dC5b3eb7FA",
"sinceTimestamp": 1715799374,
"tokens": [
"WINR"
],
"contract": {
"isVerified": true,
"address": "arb1:0xF3f01622Ac969156760c32190995F9dC5b3eb7FA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows WINR sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xF3f01622Ac969156760c32190995F9dC5b3eb7FA#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x8E83aED64a0Ad5d7d3A57B6172F14FcA5bfADE56",
"sinceTimestamp": 1722608545,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC.e"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x6aDFbA9e45b5c1685007Fe48A784e971e412f839",
"sinceTimestamp": 1722608646,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x8b961A67f49bc6334CBA09dbd70a2F14Fc8226a1",
"sinceTimestamp": 1722608661,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x88FA3A8624065f3Bf2eDe507b6Fd554C58e5b785",
"sinceTimestamp": 1722608675,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wBTC"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x3222f0F281F1630C50f86fFaA29A29A06559eca8",
"sinceTimestamp": 1722608690,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDT"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x0aE2F220cE9698b1c9853f7288aC882150291dca",
"sinceTimestamp": 1722608704,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"ETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x023d27390aEd70aA39823A1e1e06a0b075400214",
"sinceTimestamp": 1724262320,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"ARB"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0775e11309d75aA6b0967917fB0213C5673eDf81#code"
},
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0x755e9A5B4BAEFc78Bb82BA7E6d2386CCB2F238a5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2B966b9824c11f274aa39f2f72cF25C4b47c3A78"
],
"implementations": [
"eth:0xAce9269EaC3419937093154dea0AD44C36Df6963"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720547183,
"transactionHash": "0xf72b5eafd4612b45278a8d49041d0736c6c4a6de6069160dec9a086e08027762",
"implementations": [
"eth:0xAce9269EaC3419937093154dea0AD44C36Df6963"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 2/1).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x755e9A5B4BAEFc78Bb82BA7E6d2386CCB2F238a5#code"
},
{
"name": "Validium",
"isVerified": true,
"address": "eth:0x78253E2E6120164bd826668A4C96Db20f78A94c9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720089623,
"transactionHash": "0xb727fee71f71c51e9d5fe335b8c6382b80f576364002f5986149004578a16af9",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
{
"timestamp": 1758525947,
"transactionHash": "0x23960a8fc591368d7d73c22322e32c5c287f44cc412fd5ccd03916238f12400b",
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
}
],
"description": "The main system contract defining the pay-chain Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: EOA 1\n * **forceBatchAddress**: EOA 4\n * **trustedSequencer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x78253E2E6120164bd826668A4C96Db20f78A94c9#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 5, EOA 6\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x2B966b9824c11f274aa39f2f72cF25C4b47c3A78",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2B966b9824c11f274aa39f2f72cF25C4b47c3A78#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "340282366920938463463374607431768211455"
},
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81"
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0775e11309d75aA6b0967917fB0213C5673eDf81#code"
},
{
"name": "Validium",
"isVerified": true,
"address": "eth:0x42Ac57F24EC4C3AAC843f6DBAcd9282DAaeE9238",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718558735,
"transactionHash": "0x059ddb2af7337bacc9f85aed058936b67c1c439d56744b05336952c1792d811d",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
}
],
"description": "The main system contract defining the witnesschain Layer 2 logic. Entry point for sequencing batches.\n* Roles:\n * **admin**: EOA 1\n * **forceBatchAddress**: EOA 1\n * **trustedSequencer**: EOA 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x42Ac57F24EC4C3AAC843f6DBAcd9282DAaeE9238#code"
},
{
"name": "PolygonDataCommittee",
"isVerified": true,
"address": "eth:0xB0FD8Ba20B1C178b14Dd2a02f4e72c03fdA626f8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8cC10554B5C7D322E6a7F33CBb584c7C5fdBA039"
],
"implementations": [
"eth:0xD26B535AD58715C4c2ffFAC32908b13674533DAe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718630207,
"transactionHash": "0x189f2f8a9bf53ece3537b3b9a10ec0a98d7e6b506c2fa368cf818e2344f7b9ad",
"implementations": [
"eth:0xD26B535AD58715C4c2ffFAC32908b13674533DAe"
]
}
],
"description": "Manages the members of the data availability committee (DAC) and the threshold for accepting commitments from them (Currently 2/1).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB0FD8Ba20B1C178b14Dd2a02f4e72c03fdA626f8#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 4, EOA 5\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8cC10554B5C7D322E6a7F33CBb584c7C5fdBA039",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8cC10554B5C7D322E6a7F33CBb584c7C5fdBA039#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 3d delay on code upgrades unless upgrade is initiated by the PolygonSecurityCouncil in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0xC8C4cB5AF7c723c7EfD360898B47920679f92C92",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740703211,
"transactionHash": "0x3fe469a2c5d942e5cc3016032b17107a2cc8742d3ad1607ee3e66bf2c61191ba",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1740703211,
"transactionHash": "0x3fe469a2c5d942e5cc3016032b17107a2cc8742d3ad1607ee3e66bf2c61191ba",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742918891,
"transactionHash": "0xe6833f6e043850f5c6f5fb6bd04ef358a90f7d7774432fb38aa3c2a9d43c69d6",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1747076471,
"transactionHash": "0xd2416171d0e0aa5dcbe8cf888535f8b03684374e9c353bb937547f9351f39f38",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1751570459,
"transactionHash": "0x100e6f2824fd83afdc5339f5b153a85bc76f38afc024b3b24b4f630df3c6ef2c",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdmin; ultimately Wonder Multisig\n * **validators**: ValidatorTimelock, ValidatorTimelock2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC8C4cB5AF7c723c7EfD360898B47920679f92C92#code"
},
{
"name": "ValidiumL1DAValidator",
"isVerified": true,
"address": "eth:0x907b30407249949521Bf0c89A43558dae200146A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that 'verifies' the data availability for validiums. This implementation only checks the correct formatting and does not serve as a DA oracle. Can be used by ZK stack validiums as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x907b30407249949521Bf0c89A43558dae200146A#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "ChainAdmin",
"isVerified": true,
"address": "eth:0x9381D943BcC1254723F85E9A85FFcc4Bb3C8deF6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Wonder Multisig act through it.\n* Roles:\n * **owner**: Wonder Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9381D943BcC1254723F85E9A85FFcc4Bb3C8deF6#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x53F5DE9De3B2DA90633a2c74BEb3b9912cdd1579",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53F5DE9De3B2DA90633a2c74BEb3b9912cdd1579#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x5BAfEF6729228add8775aF4Cecd2E68a51424Ee1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5BAfEF6729228add8775aF4Cecd2E68a51424Ee1#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xD5dBE903F5382B052317D326FA1a7B63710C6a5b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD5dBE903F5382B052317D326FA1a7B63710C6a5b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"ETH",
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Wonder and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0xFb07A45D72DBE6E09Fd07eA4A22BAB4f85295C27",
"l2EtherAddress": "0x000000000000000000000000000000000000800A"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.28.0",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.28.0/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.28.0`. Commit hash should be `cfd77cb6bc9ab3d751d42c6161f1b393a9c51647`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x0100085f9382a7928dd83bfc529121827b5f29f18b9aa10d18aa68e1be7ddc35"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1736166371,
"transactionHash": "0xcc9d17067d603d8ee067f484671969420fdec797d9db4eca3e5439eb6b771895",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x069c4c579671f8c120b1327a73217D01Ea2EC5ea#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433235,
"transactionHash": "0x64c1939afb2e6f113ac5b917c740569ebb33001a3aa63eb912c97b1decd90f10",
"implementations": [
"eth:0x18fffcb31850795D919B6aDD4b16bEB3a5f5ECFB"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1738699391,
"transactionHash": "0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738699391,
"transactionHash": "0x9da5a8b8130dc6307e94823d5f4f372f09c39073c3c73d6639e5f00761e6f045",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
}
],
"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 Alchemy Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433463,
"transactionHash": "0x9a74ce3bc48c7eeee3d5f36f4ebc628ca02aa9f392351bb4e98e06d6cf2b6044",
"implementations": [
"eth:0xB4BA75C87A48a233BC22678EfDa7d49CfD89ea5F"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433271,
"transactionHash": "0x537a94f0aa146c63d9a65519e85b55f8c276349e9b6f2457fd0eb66331214e87",
"implementations": [
"eth:0x3c5bC88Fad9D35072213cD1FB5e83f9D150B3144"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x470458C91978D2d929704489Ad730DC3E3001113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x470458C91978D2d929704489Ad730DC3E3001113#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433331,
"transactionHash": "0xe6ded05b39b296df87dfd33578f9dd897082d080120302622ba8ca158ad6bd38",
"implementations": [
"eth:0xE187FEF3AAe13137e6062B2634cCE43B599156F6"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf931a81D18B1766d15695ffc7c1920a62b7e710a#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x07BABE08EE4D07dBA236530183B24055535A7011",
"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/0x07BABE08EE4D07dBA236530183B24055535A7011#code"
},
{
"name": "L1OpUSDCBridgeAdapter",
"isVerified": true,
"address": "eth:0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x28fAb3A5b69711cc64B09240d2694d9F0f07eBf6"
],
"implementations": [
"eth:0x62d45660505D7457e3ce9Cd87C0a0cf890fB38ff"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1724427575,
"transactionHash": "0xbcd8e7e264c743a567f2f034945e8c9d1e4d5583f9efd0dbf2d89bbefe6cfd60",
"implementations": [
"eth:0x62d45660505D7457e3ce9Cd87C0a0cf890fB38ff"
]
}
],
"description": "Escrow for USDC that uses the canonical bridge for messaging but is governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB#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": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033",
"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* Roles:\n * **challenger**: Alchemy Multisig 1\n * **proposer**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
},
{
"name": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433283,
"transactionHash": "0x5acb4bebe868d4883d26a6417436d21d856a1d3bd807b6c7eb02668390208a54",
"implementations": [
"eth:0x73A793CdcF6F0f20e14e1835Eb1462b0376727cF"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x82Cb528466cF22412d89bdBE9bCF04856790dD0e#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x90BB48fe3310499Db36437dCAE642F721e32d094",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x90BB48fe3310499Db36437dCAE642F721e32d094#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"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 Alchemy Multisig 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Alchemy Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D#code"
}
]
},
"escrows": [
{
"address": "0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"sinceTimestamp": 1719432935,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719433463,
"transactionHash": "0x9a74ce3bc48c7eeee3d5f36f4ebc628ca02aa9f392351bb4e98e06d6cf2b6044",
"implementations": [
"eth:0xB4BA75C87A48a233BC22678EfDa7d49CfD89ea5F"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737641243,
"transactionHash": "0xd769e7c27d00533eb49c0eab25c13936d9a16aa018bfeaef9309a41e7291aa39",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x470458C91978D2d929704489Ad730DC3E3001113",
"sinceTimestamp": 1719432959,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x470458C91978D2d929704489Ad730DC3E3001113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
"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/0x470458C91978D2d929704489Ad730DC3E3001113#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.6.1 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.6.1/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.6.1` . Commit hash should be `a094d016092e3355642d00be6d7943c4529ef008`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x03eb07101fbdeaf3f04d9fb76526362c1eea2824e4c6e970bdb19675b72e4fc8"
}
],
"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": []
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "AggchainECDSAMultisig",
"isVerified": true,
"address": "eth:0x2B0ee28D4D51bC9aDde5E58E295873F61F4a0507",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711785755,
"transactionHash": "0x35215d1a6f4ad41bedfbfc481d53b9d508864a6ace025f243264978e1a755f81",
"implementations": [
"eth:0x10D296e8aDd0535be71639E5D1d1c30ae1C6bD4C"
]
},
{
"timestamp": 1736257283,
"transactionHash": "0x9d23f56225d22a2a1b82c2aa6122b1a29896686b30bb1f3def0189043699d46f",
"implementations": [
"eth:0x427113ae6F319BfFb4459bfF96eb8B6BDe1A127F"
]
},
{
"timestamp": 1754397707,
"transactionHash": "0xab579dbf426db0badfaef925504105088f3300b51f1362a4084c57d7e13c0fb1",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"
]
}
],
"description": "System contract defining the X Layer Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).\n* Roles:\n * **admin**: EOA 5\n * **aggchainSigners**: EOA 2\n * **forceBatchAddress**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2B0ee28D4D51bC9aDde5E58E295873F61F4a0507#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x5065809Af286321a05fBF85713B5D5De7C8f0433",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0xfCA51bf5bDc5aC16B86F859d6BEe90cfdF6fEb72"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"implementations": [
"eth:0xee63dC4B835b2790A171fd0149566B1D51E5ae73"
]
},
{
"timestamp": 1764577007,
"transactionHash": "0xdfa2991d716c87991504d3a2e76fd06bc0c7cd2db5d2ce83d910aaf184123487",
"implementations": [
"eth:0xfCA51bf5bDc5aC16B86F859d6BEe90cfdF6fEb72"
]
}
],
"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 Xlayer Multisig\n * **batcherHash**: EOA 4\n * **owner**: EOA 3",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5065809Af286321a05fBF85713B5D5De7C8f0433#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x64057ad1DdAc804d0D26A7275b193D9DACa19993",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0xa0fEfC3A457F6A1aE2d81FC172D6dE090a9F4033"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"implementations": [
"eth:0xa0fEfC3A457F6A1aE2d81FC172D6dE090a9F4033"
]
}
],
"description": "Central message and gas token (dOKB) bridge of the OP stack part of this deployment. It allows for permissioned state proposals without public challenges, and forced transactions.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64057ad1DdAc804d0D26A7275b193D9DACa19993#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x9D4c8FAEadDdDeeE1Ed0c92dAbAD815c2484f675",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"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 Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9D4c8FAEadDdDeeE1Ed0c92dAbAD815c2484f675#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 6, EOA 7\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xF94B553F3602a03931e5D10CaB343C0968D793e3",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"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 Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF94B553F3602a03931e5D10CaB343C0968D793e3#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x000590BB65ab1864a7AD46d6B957cC9a4F2C149d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"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 Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x000590BB65ab1864a7AD46d6B957cC9a4F2C149d#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x1B8A252A71bC8997d3871aF420895B5845212fC6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"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 Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1B8A252A71bC8997d3871aF420895B5845212fC6#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": "MIPS",
"isVerified": true,
"address": "eth:0x305D1C0EED9a0291686f3BfDf1F5E54aaeeF80e4",
"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/0x305D1C0EED9a0291686f3BfDf1F5E54aaeeF80e4#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Xlayer Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x62e1Aaeba9A8AA4654980653dB4B21FC82C61c15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"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 Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x62e1Aaeba9A8AA4654980653dB4B21FC82C61c15#code"
},
{
"name": "L1ERC721Bridge_neutered",
"isVerified": true,
"address": "eth:0x85d37236f063C687d056b3604CBEe4B60d124858",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0xFbd06fCb2a023d89a7ae9BeE89d157C5264cf42b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761567143,
"transactionHash": "0x548809f75e4988d16e41bd323e76519cf64ad325a7840911cdf865f67ffd284f",
"implementations": [
"eth:0xFbd06fCb2a023d89a7ae9BeE89d157C5264cf42b"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85d37236f063C687d056b3604CBEe4B60d124858#code"
},
{
"name": "L1StandardBridge_neutered",
"isVerified": true,
"address": "eth:0xAecF995ABf9E7eDE7ae0CE65E60622C9eD84823a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x313ce9Cec2070B519f13BDaFe07eabb4f215FEE6"
],
"implementations": [
"eth:0x2978527d5D1372C32fEdC182FDE7559c0471d051"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "This OP stack bridge contract has been modified to disallow ETH and ERC-20 bridging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xlayer Multisig",
"upgradableBy": [
{
"name": "Xlayer Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAecF995ABf9E7eDE7ae0CE65E60622C9eD84823a#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC6901aBf8D39079d6b028dA550BB643f10840552",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: OwnerContract",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC6901aBf8D39079d6b028dA550BB643f10840552#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xEeDa796a23bc98726e47934ca9B54fDDa5a608e8",
"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* Roles:\n * **challenger**: EOA 8\n * **proposer**: EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEeDa796a23bc98726e47934ca9B54fDDa5a608e8#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": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1712620800,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherWrapped",
"wethAddress": "0x5A77f1443D16ee5761d310e38b62f77f726bC71c",
"tokensToAssignFromL1": [
"OKB"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\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 [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "DataAvailabilityChallenge",
"isVerified": true,
"address": "eth:0x16193e14197c10109F3e81b938153A04A2a00190",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x36b9F31874b8790d4caf341168A95FE165bA3C91"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540347,
"transactionHash": "0x465aefa8c36215c06100fcbf16cbaa71fd724868198ee08eb244d5d8da359579",
"implementations": [
"eth:0x36b9F31874b8790d4caf341168A95FE165bA3C91"
]
}
],
"description": "The DataAvailabilityChallenge contract is used to challenge the full availability of data behind commimted transaction data hashes. See the technology section for more details.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xterio Multisig\n * **owner**: EOA 3",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x16193e14197c10109F3e81b938153A04A2a00190#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x5A0492D20D984eE904E46E6Ff24572bc755abb28",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x48Ef83Cf812f291EDB00C2D48440Ee90cD12be1a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540743,
"transactionHash": "0xf8a1b47bf39845927a0033efca9db32efafbab1739d90d59397062954922648f",
"implementations": [
"eth:0x48Ef83Cf812f291EDB00C2D48440Ee90cD12be1a"
]
},
{
"timestamp": 1743862619,
"transactionHash": "0x3c36d0fd57e70dee54e8ecc5c70de812a57dd8bc3db576cf12ce164acbeb8cce",
"implementations": [
"eth:0xA9D78F579f1B30194F3c2Ca1987A9B91A33BDF08"
]
},
{
"timestamp": 1743863147,
"transactionHash": "0x4dbaa9a0411962209ad663ec973dca85671030aef9bbf598b9727a292a83525d",
"implementations": [
"eth:0x48Ef83Cf812f291EDB00C2D48440Ee90cD12be1a"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xterio Multisig\n * **challenger**: EOA 2\n * **proposer**: EOA 4",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5A0492D20D984eE904E46E6Ff24572bc755abb28#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x6E99cdE188DAAFeEcb6eD8AC28B98dE4c8eE5D6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x42557f7920a257C7be82C2dfafcEd7aC1CCDb43F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540635,
"transactionHash": "0x6c10c92d919e53ebe4d54bb529abd57139309544a6298583c987c7de23d34da8",
"implementations": [
"eth:0x42557f7920a257C7be82C2dfafcEd7aC1CCDb43F"
]
}
],
"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 Xterio Multisig\n * **batcherHash**: EOA 5\n * **owner**: EOA 3",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6E99cdE188DAAFeEcb6eD8AC28B98dE4c8eE5D6C#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0xBC2bEDA4ce7A1f40aa458322A33B44081b2F545A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0xEdE953bab7C50B2e5150316Ae0574F0cbA4068a9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540803,
"transactionHash": "0xc93dc2274b4ce4975aae8b5d6ffde3b52c6457d4c11400d710a63142d369fa83",
"implementations": [
"eth:0xb6a5DCc244EfAbE3194cf5e5590a463f44eD5784"
]
},
{
"timestamp": 1744817675,
"transactionHash": "0x28fc02b17e9d4fc1107f498afbce93158b39649d34acf6f709626e3a326037ad",
"implementations": [
"eth:0xEdE953bab7C50B2e5150316Ae0574F0cbA4068a9"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals. Forced transactions from Layer 1 are disabled.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xterio Multisig\n * **guardian**: EOA 1\n * **privilegedAddress**: Safe",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBC2bEDA4ce7A1f40aa458322A33B44081b2F545A#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xcbF423525a5471Fc5037a5397F99f6F09fe41379",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x17bcBF2A2CF8156cf4603f8aFAAB27Ec4e998888"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540263,
"transactionHash": "0x4e3668c90f01d35d5753aa45cbb770cb11fc2cf6da435b6735896b9da961001b",
"implementations": [
"eth:0x17bcBF2A2CF8156cf4603f8aFAAB27Ec4e998888"
]
}
],
"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 Xterio Multisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcbF423525a5471Fc5037a5397F99f6F09fe41379#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x28d56C3BBbe4807c19Cc81E6D5207Fb681C3726b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x53699fbA16599c1425D2637B839bA59c121a2e6a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540671,
"transactionHash": "0xd9823971f20793a1a68411dcf5ba149a39f008846ff54dd5e2c1b0b34b9f7f76",
"implementations": [
"eth:0x53699fbA16599c1425D2637B839bA59c121a2e6a"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xterio Multisig",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x28d56C3BBbe4807c19Cc81E6D5207Fb681C3726b#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2AD84AbD52050956AcC9c490D024b821A59e3FB6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0xC2AbCf1dDADA750936a168334fD14D66fCa931e0"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Xterio Multisig",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2AD84AbD52050956AcC9c490D024b821A59e3FB6#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x702dF90E92A6841c9013faE6D724ddFA8F141d5C",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x5eAAeabB78C28EF184Bb0cF9B0af6D2DA232679a"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540719,
"transactionHash": "0x5888c2983d2dc736187d110addd45ae4aee47a310d83ff90b3640015291f97a4",
"implementations": [
"eth:0x5eAAeabB78C28EF184Bb0cF9B0af6D2DA232679a"
]
}
],
"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 Xterio Multisig",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x702dF90E92A6841c9013faE6D724ddFA8F141d5C#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x515A0c8b1d9574C65EA1924eCd767B1d9b6AC32f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0x78Bd7b48E74669Dd6709C111200c6B862505Fc4A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540683,
"transactionHash": "0x63d43893fd0899e5a914ec85ab8a6a51145dca247068c0e07e8da1bfe0a5f773",
"implementations": [
"eth:0x78Bd7b48E74669Dd6709C111200c6B862505Fc4A"
]
}
],
"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 Xterio Multisig",
"upgradableBy": [
{
"name": "Xterio Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x515A0c8b1d9574C65EA1924eCd767B1d9b6AC32f#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Xterio Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9e48d6bBca781c23392Ec459BfB3657C40a794A8#code"
}
]
},
"escrows": [
{
"address": "0xBC2bEDA4ce7A1f40aa458322A33B44081b2F545A",
"sinceTimestamp": 1716540359,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xBC2bEDA4ce7A1f40aa458322A33B44081b2F545A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0xEdE953bab7C50B2e5150316Ae0574F0cbA4068a9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716540803,
"transactionHash": "0xc93dc2274b4ce4975aae8b5d6ffde3b52c6457d4c11400d710a63142d369fa83",
"implementations": [
"eth:0xb6a5DCc244EfAbE3194cf5e5590a463f44eD5784"
]
},
{
"timestamp": 1744817675,
"transactionHash": "0x28fc02b17e9d4fc1107f498afbce93158b39649d34acf6f709626e3a326037ad",
"implementations": [
"eth:0xEdE953bab7C50B2e5150316Ae0574F0cbA4068a9"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xBC2bEDA4ce7A1f40aa458322A33B44081b2F545A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2AD84AbD52050956AcC9c490D024b821A59e3FB6",
"sinceTimestamp": 1716540383,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2AD84AbD52050956AcC9c490D024b821A59e3FB6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9e48d6bBca781c23392Ec459BfB3657C40a794A8"
],
"implementations": [
"eth:0xC2AbCf1dDADA750936a168334fD14D66fCa931e0"
]
},
"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/0x2AD84AbD52050956AcC9c490D024b821A59e3FB6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"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": []
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0xdbD849acC6bA61F461CB8A41BBaeE2D673CA02d9",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1729268915,
"transactionHash": "0xa728db44825fd6e5aa33e91df199018db55a3c7376d49526abdd06402e24a5af",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1729268915,
"transactionHash": "0xa728db44825fd6e5aa33e91df199018db55a3c7376d49526abdd06402e24a5af",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1736984927,
"transactionHash": "0x43cc00fd7fc4cf95a1b1c73c015e995b9bd30b63f94d9c41a9ff5f6dc9a30f2f",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742860739,
"transactionHash": "0x73c01b2ffc860cbae069cb2079376603a8a05aa57c005e8ab74b858353827f87",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1748397059,
"transactionHash": "0x76d47b3062b0dc7f0f5a40f726782dc3236c789ba526704f2c64e7c7551eaf83",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1759176779,
"transactionHash": "0x68ffcd55af3cc04620fcdb6ff5800c1bcbbd31d4363ae9f4fdb2091f7c24834d",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1759176779,
"transactionHash": "0x68ffcd55af3cc04620fcdb6ff5800c1bcbbd31d4363ae9f4fdb2091f7c24834d",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ZeroNetworkZkEvmAdmin; ultimately Zeronetwork Multisig\n * **validators**: ValidatorTimelock, ValidatorTimelock2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdbD849acC6bA61F461CB8A41BBaeE2D673CA02d9#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "ZeroNetworkZkEvmAdmin",
"isVerified": true,
"address": "eth:0xCA8faaF5BA885fEC8C2c8CD49bADAa7589D173b3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Zeronetwork Multisig act through it.\n* Roles:\n * **owner**: Zeronetwork Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCA8faaF5BA885fEC8C2c8CD49bADAa7589D173b3#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0xD71DDC9956781bf07DbFb9fCa891f971dbE9868A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD71DDC9956781bf07DbFb9fCa891f971dbE9868A#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"ETH",
"USDC",
"WBTC",
"USDT"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to ZERϴ and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x954ba8223a6BFEC1Cc3867139243A02BA0Bc66e4",
"l2EtherAddress": "0x000000000000000000000000000000000000800A"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.28.0",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.28.0/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.28.0`. Commit hash should be `cfd77cb6bc9ab3d751d42c6161f1b393a9c51647`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x0100085f9382a7928dd83bfc529121827b5f29f18b9aa10d18aa68e1be7ddc35"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911",
"eth:0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
}
],
"description": "The main entry point to deposit funds from the host chain to this chain. It also allows to prove and finalize withdrawals. This fork of the standard OP stack contract allows for permissionless 'escaping' of assets with merkle proofs or a resolver if there were no state updates for a time defined by the L2OutputOracle.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Zircuit Multisig 1\n * **guardian**: Zircuit Multisig 2",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xaFD10586f3F2cB2aD34E8196563424a3a93EbE9F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936707,
"transactionHash": "0x9cebd2cdbd71bf96668e003794de90cf09858ccebb8f93c41e3d7822df207505",
"implementations": [
"eth:0xA03E2f3Ee6dBa20411A2326D7FA9CCCc6a9A53de"
]
},
{
"timestamp": 1746642323,
"transactionHash": "0x19f086f222696bf287600d456e602d10dd4a1db43027e97262e1abb52f347570",
"implementations": [
"eth:0x795277B6aD8778E27aa70813157134cfC4a4D446"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0x83085450544c3F360a40720859EbB1bfd311584D"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0xaFD10586f3F2cB2aD34E8196563424a3a93EbE9F"
]
}
],
"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 Zircuit Multisig 1\n * **batcherHash**: EOA 2\n * **owner**: Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x92Ef6Af472b39F1b363da45E35530c24619245A4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x5E66C2820666f4Fb490d2D2edE4dCB0E46CD03C6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936779,
"transactionHash": "0xb7f011bd8d0fabfe82b954ebee2fdb2bc366baa21dcceaedf227bf8cf6803232",
"implementations": [
"eth:0xaaF7FCc7252eb739E0001D8727800deAE04A84f1"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0x98DFF0828C8f870c31E209f35dF7ed22d194Ea9B"
]
},
{
"timestamp": 1741654919,
"transactionHash": "0x82c8840f615a9681634471d0ca91ae7ab00e483dbc01dbf4b16a0efe042c7e2a",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1741654919,
"transactionHash": "0x82c8840f615a9681634471d0ca91ae7ab00e483dbc01dbf4b16a0efe042c7e2a",
"implementations": [
"eth:0xeE646fEA9b1D7f89ae92266c5d7E799158416ca4"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xb82E8B7B3a93290EE38dB201686AbDc9FDF6A315"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0x6AB82bb139383BB758348fBb81EdA57458e59f65"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x3311fee5e49F6c6549d58e266338E46e777b4872"
]
},
{
"timestamp": 1764027515,
"transactionHash": "0x284701d1524b8a7166ba82ea47dc77604122182f0a94ff1f24f85d8eb41b7016",
"implementations": [
"eth:0x5E66C2820666f4Fb490d2D2edE4dCB0E46CD03C6"
]
},
{
"timestamp": 1773919931,
"transactionHash": "0xde1731a6499e91bf3c8d7b575fc6b5e8b92966625ed4f890142c94d8de15ab5a",
"implementations": [
"eth:0xB0790b9d22F92131e9E8D46F5b0f99ab88C3a21d"
]
},
{
"timestamp": 1773919931,
"transactionHash": "0xde1731a6499e91bf3c8d7b575fc6b5e8b92966625ed4f890142c94d8de15ab5a",
"implementations": [
"eth:0x5E66C2820666f4Fb490d2D2edE4dCB0E46CD03C6"
]
}
],
"description": "Entrypoint for permissioned proposers to propose new L2 outputs (state roots). New proposals have to be accompanied by a zk-SNARK proof of a correct state transition. Users can 'escape' their funds after 1mo of no state updates by supplying merkle proofs or using a resolver.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Zircuit Multisig 1\n * **challenger**: Zircuit Multisig 1\n * **proposer**: EOA 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x92Ef6Af472b39F1b363da45E35530c24619245A4#code"
},
{
"name": "ZircuitSuperchainConfig",
"isVerified": true,
"address": "eth:0x745393Cc03b5fE668ECd52c0E625f59aAD6D3Da0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x70D688D4Bd6B1b195aE51040b54ab501278D1d31"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936491,
"transactionHash": "0xb5e745182a810d657ce620881623f4109ba08309028552c87519442deef98a13",
"implementations": [
"eth:0xA47314C96ab9572af656788e15143B459F99AE0f"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0x70D688D4Bd6B1b195aE51040b54ab501278D1d31"
]
}
],
"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 access control for configuring actors who can pause and unpause the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Zircuit Multisig 1\n * **defaultAdmin**: Zircuit Multisig 2",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x745393Cc03b5fE668ECd52c0E625f59aAD6D3Da0#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x2a721cBE81a128be0F01040e3353c3805A5EA091",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xA5B66A9FBCE3d57dA2b3Bd764d0a05B95052f73F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936755,
"transactionHash": "0xba20c00dc03b009737ebbcaa3db1263524a1322c5984a4f51fbf7c4ebc979575",
"implementations": [
"eth:0x6c01D349d3010Cc2953fFA0A5e8d176fc273B834"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0xA5B66A9FBCE3d57dA2b3Bd764d0a05B95052f73F"
]
}
],
"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 Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a721cBE81a128be0F01040e3353c3805A5EA091#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
}
],
"description": "The main entry point to deposit ERC20 tokens from the host chain to this chain. This fork of the standard OP stack contract allows for permissionless 'escaping' of assets with merkle proofs or a resolver if there were no state updates for a configurable time.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x994eEb321F9cD79B077a5455fC248c77f30Dd244",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xDF129ECFc63Af454F62b69d03C0f0E21e69bcDAb"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936731,
"transactionHash": "0xd6346f4354e7b4f58d6ef747d0ac04afa4c80319963ac187a69403ff1dcebdc8",
"implementations": [
"eth:0x3B21dC86c412aC34fF4c679497b274509D73cDcC"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0xDF129ECFc63Af454F62b69d03C0f0E21e69bcDAb"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x994eEb321F9cD79B077a5455fC248c77f30Dd244#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": "SP1Verifier",
"isVerified": true,
"address": "eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5",
"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/0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Zircuit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257#code"
},
{
"name": "ResolverRegistry",
"isVerified": true,
"address": "eth:0x6c89104690452AD7e209f0ab72287C2561d5cF0E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xC82fB8FB873b0c56E1aeb9238d79b27e3d67f155"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xC82fB8FB873b0c56E1aeb9238d79b27e3d67f155"
]
}
],
"description": "Registers 'resolvers' which are allowed to supply authoritative data for blockchain balances to support escapes without merkle proofs from e.g. DeFi smart contracts on L2. A resolver can either be registered directly by the respective contract on L2 or by its deployer from L1, using deterministic deployment derivation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6c89104690452AD7e209f0ab72287C2561d5cF0E#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"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/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
{
"name": "SP1MockVerifierWithHash",
"isVerified": true,
"address": "eth:0xb4bd9A37998576C2FfD863b6dc9E0124021B8739",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4bd9A37998576C2FfD863b6dc9E0124021B8739#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc77ece87C91C44AFb5f19638f9a0F75b5d90E932",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xf885DA6A3B4c93905b02f36f9a13680922A554b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936743,
"transactionHash": "0x25c6d394396aef5f15c5f4fd388c8ebf206b71dfe6ced6d1933573016d7cee77",
"implementations": [
"eth:0xf885DA6A3B4c93905b02f36f9a13680922A554b0"
]
}
],
"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 Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc77ece87C91C44AFb5f19638f9a0F75b5d90E932#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0xf35A4088eA0231C44B9DB52D25c0E9E2fEe31f67",
"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**: Zircuit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf35A4088eA0231C44B9DB52D25c0E9E2fEe31f67#code"
}
],
"zircuit": [
{
"name": "L1Block",
"isVerified": true,
"address": "zircuit:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zircuit:0x4200000000000000000000000000000000000018"
],
"implementations": [
"zircuit:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
"chain": "zircuit",
"pastUpgrades": [
{
"timestamp": 1747065601,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"zircuit:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain. This version though also contains a storage slot for `depositExclusions`.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zircuit.com/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "zircuit:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zircuit:0x4200000000000000000000000000000000000018"
],
"implementations": [
"zircuit:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "zircuit",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe\n * **owner**: GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zircuit.com/address/0x4200000000000000000000000000000000000018#code"
}
]
},
"escrows": [
{
"address": "0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"sinceTimestamp": 1726591415,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"description": "custom wstETH Vault controlled by Lido governance, using the canonical bridge for messaging.",
"url": "https://etherscan.io/address/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"sinceTimestamp": 1719936491,
"tokens": [
"ETH"
],
"premintedTokens": [],
"contract": {
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"sinceTimestamp": 1719936539,
"tokens": "*",
"excludedTokens": [
"rswETH",
"rsETH"
],
"premintedTokens": [
"ZRC"
],
"contract": {
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
}
],
"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/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client. Data availability layer is set to Ethereum blobs.",
"proverSystemProject": "sp1turbo",
"verificationStatus": "notVerified",
"hash": "0x0050b72e60cf8aef095d5718413fd32e1c18d0e54ebc4b9f560cf1cd93dd2605"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks. Data availability layer is set to Ethereum blobs.",
"proverSystemProject": "sp1turbo",
"verificationStatus": "notVerified",
"hash": "0x04415a0d46de8b145eb5056969fa3b5900c3c23a21cb3feb2bdcb8da752de7a1"
}
],
"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:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5",
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0xF2704433d11842d15aa76BBF0E00407267a99C92",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740703583,
"transactionHash": "0xc4a64f76c03f5a13c02ef75b678c561fcbeac3d14d039d0c63d898009d8c4bca",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1740703583,
"transactionHash": "0xc4a64f76c03f5a13c02ef75b678c561fcbeac3d14d039d0c63d898009d8c4bca",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1742997647,
"transactionHash": "0x2b263b46f39c303439cc9863a7c0a4597a5b488c4d31ec46642e4567e190dc57",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1748553755,
"transactionHash": "0x96ca5b3c6c6131b5d6a538059dea8d2687a9e1ce8c9bed9aa8f97f80fa9e4617",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1752215135,
"transactionHash": "0x68f8e378453c0181098912cced5fca98f2e21964ba4235fa62a364e0d442110c",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1756219391,
"transactionHash": "0xba2ebefd8f2d5a07d43c02b04e871752d75554d166382e8911ba94af72f429d9",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1773017027,
"transactionHash": "0xe0f42328fde4d30995da466d585cb7887fb264080ad6d8d68a760994aa538e03",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: zkCandyZkEvmAdmin; ultimately zkCandy Multisig\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF2704433d11842d15aa76BBF0E00407267a99C92#code"
},
{
"name": "ValidiumL1DAValidator",
"isVerified": true,
"address": "eth:0x907b30407249949521Bf0c89A43558dae200146A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that 'verifies' the data availability for validiums. This implementation only checks the correct formatting and does not serve as a DA oracle. Can be used by ZK stack validiums as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x907b30407249949521Bf0c89A43558dae200146A#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "zkCandyZkEvmAdmin",
"isVerified": true,
"address": "eth:0x309EfA797ec5cd324Cb473F141F95214F3a25ab2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets zkCandy Multisig act through it.\n* Roles:\n * **owner**: zkCandy Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x309EfA797ec5cd324Cb473F141F95214F3a25ab2#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x4d335C5C08FEc91a39965351AbB6E315ad2e9ff3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d335C5C08FEc91a39965351AbB6E315ad2e9ff3#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD324a7c8556A059371B207fB96FD77bE24E2042c#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to zkCandy and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x8116A750e2091B2bA0D94223e7b20a6A65A279f4",
"l2EtherAddress": "0xE5ecd226b3032910CEaa43ba92EE8232f8237553"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c",
"eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7"
]
}
+3 -0
+3 -0
{
"addresses": {
"linea": [
{
"name": "LineaL1ERC20Bridge",
"isVerified": true,
"address": "linea:0x62cE247f34dc316f93D3830e4Bf10959FCe630f8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0xeF528a8Ca4B6aFDB6716Ef9f11bCa0c5C47454ec"
],
"implementations": [
"linea:0xDe1d7311d3eb7bc94f7EBAEd86978d3a82d5328A"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1709218113,
"transactionHash": "0xd4a7bf62cc26e7852b2f27b65739c9d3fb4c0f7ad57757d0a854391c9b1395c3",
"implementations": [
"linea:0xB8017A397E7844635c5a2750d0BEB2af97506461"
]
},
{
"timestamp": 1712147411,
"transactionHash": "0x151e5e3496cc0cfa545a4515a036154bb172dea85ccafce5563b408a83793570",
"implementations": [
"linea:0xDe1d7311d3eb7bc94f7EBAEd86978d3a82d5328A"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Linea to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "LineaOwner",
"delay": "no"
}
],
"url": "https://lineascan.build/address/0x62cE247f34dc316f93D3830e4Bf10959FCe630f8#code"
},
{
"name": "LineazkLink",
"isVerified": false,
"address": "linea:0x5Cb18b6e4e6F3b46Ce646b0f4704D53724C5Df05",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"linea:0x6a91814E3481967Ea350398cf748aB845DF43c05",
"linea:0xF3d053C29666D653Fa8629190579844BffE9FB92",
"linea:0xa3A4de013fbC21F46a3AB0F504dcEFfAd217252e",
"linea:0xFF6e83e6A5cc362b8B40d819fBE7840aD13A3488"
],
"immutable": false
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1709218085,
"transactionHash": "0x819d006b90a1059b199bc80dd0bdc799ff3bfc4835056c5a818ebe4d6e7a0b2e",
"implementations": [
"linea:0x73B076425025A3Bf059001D5bE0E21384C8cf049",
"linea:0xfE3EB2e5AfaA936093C0DD2dB8898F4a2643FfE0",
"linea:0x6052B353022dA2C61a999bf081C349260de993Af",
"linea:0x5e7077bf147Fc1Bb8f46039cc40bBd39F2dDfEa0"
]
},
{
"timestamp": 1709522773,
"transactionHash": "0x33b1bba23b3c4bf16fb2b10b47dfda138dc2ff659fc32e2d0926b716e76f3dbc",
"implementations": [
"linea:0x73B076425025A3Bf059001D5bE0E21384C8cf049",
"linea:0xfE3EB2e5AfaA936093C0DD2dB8898F4a2643FfE0",
"linea:0x5e7077bf147Fc1Bb8f46039cc40bBd39F2dDfEa0",
"linea:0x841f709F4219a1283300c0250cA7c582aD2B289c"
]
},
{
"timestamp": 1709978074,
"transactionHash": "0xdc95a41e73ce7a4cb3200d9b2ecdcb33b548678392e2ac62e35dfc10e37f3308",
"implementations": [
"linea:0x73B076425025A3Bf059001D5bE0E21384C8cf049",
"linea:0xfE3EB2e5AfaA936093C0DD2dB8898F4a2643FfE0",
"linea:0x5e7077bf147Fc1Bb8f46039cc40bBd39F2dDfEa0",
"linea:0x841f709F4219a1283300c0250cA7c582aD2B289c"
]
},
{
"timestamp": 1709978562,
"transactionHash": "0xe5ccaa4de67ac346e3a8360734dc8d32e894e60ef78686734428bc400f621781",
"implementations": [
"linea:0xcE8E69a2685c80Eb6bd825d0552f44BB34f35503",
"linea:0xb1d0354063527E4426c4bEcbDB75fE0fb112e3CB",
"linea:0x11bf5BC6327f7BECB0AE753932A181c8fB5780bA",
"linea:0x1b19287CE898217D937571EABa97ec50F27d1206"
]
},
{
"timestamp": 1713840533,
"transactionHash": "0x72a67f79ae66e93c75e22e06ccc384e73bcf1be4dfb587597aee5467c7f2bddf",
"implementations": [
"linea:0x2b1f8EcEc8C5E09395D83910b5Cbf0E149E271DC",
"linea:0xF3d053C29666D653Fa8629190579844BffE9FB92",
"linea:0x253AbB100Dd2606e73E41A26D03269fd13de5548",
"linea:0x268F47D6058c3122131e2f8Df1B634793e4B0a7c"
]
},
{
"timestamp": 1716393189,
"transactionHash": "0x63cc92d7d7f235ed4094027a72b93973cb159c4cca509f669668032a0b6d9e96",
"implementations": [
"linea:0xB76Ee80B3344D86580C990638bDE1915E58d2c6f",
"linea:0xF3d053C29666D653Fa8629190579844BffE9FB92",
"linea:0x495220D99B432b0de3e1F1fe206AA0E26A051C63",
"linea:0x9f2E11F287733c4EF5B9A6ED923b780c28062727"
]
},
{
"timestamp": 1747193745,
"transactionHash": "0xc126f92dc36c78ecb4aac331b0cc9e92ba1693d8b1a83981f4cb789cd1c55a6b",
"implementations": [
"linea:0x6a91814E3481967Ea350398cf748aB845DF43c05",
"linea:0xF3d053C29666D653Fa8629190579844BffE9FB92",
"linea:0xa3A4de013fbC21F46a3AB0F504dcEFfAd217252e",
"linea:0xFF6e83e6A5cc362b8B40d819fBE7840aD13A3488"
]
}
],
"description": "Main contract of the system where blocks are committed, proven and executed. It syncs messages from secondary chains (\"slow\" path) and accepts \"fast\" forwarded requests from permissioned validators that are later cross-checked with the slow path. ETH coming from secondary chains are transferred and escrowed here. State roots are then synced back to the secondary chains.",
"upgradableBy": [
{
"name": "LineaOwner",
"delay": "no"
}
],
"url": "https://lineascan.build/address/0x5Cb18b6e4e6F3b46Ce646b0f4704D53724C5Df05#code"
},
{
"name": "LineaL2Gateway",
"isVerified": true,
"address": "linea:0x7b5780d6df85A7dF96a3e1A019639a1dbDe937dB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0x0Bff4B38792a95314b3463E1Bf9831BDa1995391"
],
"implementations": [
"linea:0x0C25f3ACCB17a9D60408D1c79bD7218073DAd518"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1709279545,
"transactionHash": "0xa810024f29ca544f9587b26bd9ca270c0811b58dd9fcc75ee870e24c316468cc",
"implementations": [
"linea:0xaFc54E8277f8Bb8c195C794B0D10D6766e89DF0a"
]
},
{
"timestamp": 1709981434,
"transactionHash": "0x37af14ba1cab3bbd0b202ad21c9bd057c8d36f654ff515e18fc22af68ea72d33",
"implementations": [
"linea:0x0C25f3ACCB17a9D60408D1c79bD7218073DAd518"
]
}
],
"description": "High level interface between the main zkLink contract and Linea's message service.",
"upgradableBy": [
{
"name": "LineaOwner",
"delay": "no"
}
],
"url": "https://lineascan.build/address/0x7b5780d6df85A7dF96a3e1A019639a1dbDe937dB#code"
},
{
"name": "ValidatorTimelock",
"isVerified": true,
"address": "linea:0x509ff56c152315EdeE91A2e0f059195519507e01",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Intermediary contract between the one of the validators and the ZKsync Era diamond that can delay block execution (ie withdrawals and other L3 --> L2 messages). Currently, the delay is set to 0s.",
"url": "https://lineascan.build/address/0x509ff56c152315EdeE91A2e0f059195519507e01#code"
},
{
"name": "Verifier",
"isVerified": true,
"address": "linea:0x902C3806A84f4e855a8746e92d7F1C9a51400458",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Implements ZK proof verification logic.",
"upgradableBy": [
{
"name": "LineaOwner",
"delay": "no"
}
],
"url": "https://lineascan.build/address/0x902C3806A84f4e855a8746e92d7F1C9a51400458#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "linea:0xeF528a8Ca4B6aFDB6716Ef9f11bCa0c5C47454ec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Intermediary governance contract with two roles and a customizable delay. This delay is only mandatory for transactions scheduled by the Owner role and can be set by the SecurityCouncil role. The SecurityCouncil role can execute arbitrary upgrade transactions immediately. Currently the delay is set to 0s and the SecurityCouncil role is not used.",
"url": "https://lineascan.build/address/0xeF528a8Ca4B6aFDB6716Ef9f11bCa0c5C47454ec#code"
}
],
"ethereum": [
{
"name": "EthereumL1ERC20Bridge",
"isVerified": true,
"address": "eth:0xAd16eDCF7DEB7e90096A259c81269d811544B6B6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x315255c1bA35A1DdAc48CF054bc4e3a0929160b2"
],
"implementations": [
"eth:0x3203E813930bD710043c1d899fE38dD359307352"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709295323,
"transactionHash": "0x185cdd8d3ef12b9ccfb69bde86098b46813cd9c97ceda3d290a008be59c7fd19",
"implementations": [
"eth:0xc271a8e9eB2b10FCDe1709D76de6681249669D2e"
]
},
{
"timestamp": 1712211827,
"transactionHash": "0xc9c60ef44c8cef2b33a3f0af91e3d064ea479d616c1aafd9d2535cc377be0382",
"implementations": [
"eth:0x3203E813930bD710043c1d899fE38dD359307352"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Ethereum to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xAd16eDCF7DEB7e90096A259c81269d811544B6B6#code"
},
{
"name": "EthereumzkLink",
"isVerified": true,
"address": "eth:0x5fD9F73286b7E8683Bab45019C94553b93e015Cf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0xeaC8E6c1acBabC7135Fc8357FF2D718a36177Ab7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709278799,
"transactionHash": "0xbe3c99c5f0c926495895beed70b15cbc9fe4dfb1b541d08d1c4f9b6c7ff59ce5",
"implementations": [
"eth:0xA89aa7e3D34516EAB7129E401215d5d1239Ce715"
]
},
{
"timestamp": 1709979011,
"transactionHash": "0x6fb95bcc6d76a0ad1a5f53b1bf99fb6e40672ac789e931d5565691f473d13ced",
"implementations": [
"eth:0xCC8256b3eBF21e27f04E360eED012f5752c1F5DD"
]
},
{
"timestamp": 1713615719,
"transactionHash": "0xee6a34e852c4927c2afcf361307e2245771cf97a2e57f02f46ce8e9dfdd4771f",
"implementations": [
"eth:0xeaC8E6c1acBabC7135Fc8357FF2D718a36177Ab7"
]
}
],
"description": "Main messaging contract on Ethereum and ETH escrow. Outgoing messages (like deposits) are sent through the EthereumL2Gateway which ultimately makes use of Ethereum's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5fD9F73286b7E8683Bab45019C94553b93e015Cf#code"
},
{
"name": "EthereumL1Gateway",
"isVerified": true,
"address": "eth:0x83Bc7394738A7A084081aF22EEC0051908c0055c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0x65c7B3E1B877131986247B49474834b0347eF332"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709278979,
"transactionHash": "0x20bb9ab00c3acf52a01d22bb87c0af9ba1195ba50291c21cfc581322057d1ba4",
"implementations": [
"eth:0x87743f9CccA4a6DFbFfB2856dC6839b1919a43FB"
]
},
{
"timestamp": 1709980895,
"transactionHash": "0x50a3b1abdbfb058cd85b72555a8734666f7b05f5ca0c1abd82559c61b54f237e",
"implementations": [
"eth:0x240cfBdb89eBc09b678b24ba5d640A27B7D3051b"
]
},
{
"timestamp": 1713615719,
"transactionHash": "0xee6a34e852c4927c2afcf361307e2245771cf97a2e57f02f46ce8e9dfdd4771f",
"implementations": [
"eth:0x65c7B3E1B877131986247B49474834b0347eF332"
]
}
],
"description": "High level interface between the local zkLink contract and Ethereum's message service.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x83Bc7394738A7A084081aF22EEC0051908c0055c#code"
},
{
"name": "Arbitrator",
"isVerified": true,
"address": "eth:0x1Ee09A2cAa0813A5183f90F5a6d0E4871f4C6002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0x7a0Bb4805EcB7fD3C8DAbbE4AFa0E91cB1761E34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709275199,
"transactionHash": "0x4982bb48f0071f234c1708804bd549ccb1b79f3eafdad5cdf644aeb3f9078553",
"implementations": [
"eth:0xD2b679671354087ead3C683F48da4b738f0fC675"
]
},
{
"timestamp": 1709980835,
"transactionHash": "0xd9a9e46b9d7321babc6608896c2d2438db12c25b92e96b39a705384560e4d67c",
"implementations": [
"eth:0xb3EE39F57d96C3F2A5ab3886572dDc4EA34B529a"
]
},
{
"timestamp": 1713615719,
"transactionHash": "0xee6a34e852c4927c2afcf361307e2245771cf97a2e57f02f46ce8e9dfdd4771f",
"implementations": [
"eth:0x7a0Bb4805EcB7fD3C8DAbbE4AFa0E91cB1761E34"
]
}
],
"description": "Contract storing the mapping between secondary chain bridges and acts as an intermediary to receive and relay messages to and from the main zkLink contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x1Ee09A2cAa0813A5183f90F5a6d0E4871f4C6002#code"
},
{
"name": "LineaL1Gateway",
"isVerified": true,
"address": "eth:0x803460416C2682Ac54FccF03eF77b10A12f2809b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0xD2ED3FA35be899fe850075946Fc7320bB4c18C29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709281007,
"transactionHash": "0x01bb57dff1464aa31b2871caddf2cd239068df11076fea2d6e041275eb5fc701",
"implementations": [
"eth:0x67EBB0b6273A2e5728410Af81609226A96ACcb3e"
]
},
{
"timestamp": 1709981111,
"transactionHash": "0x2010b0544391cadef00257da2bf40d85288c1fc2bcc63e611cf89f5bd8e1d951",
"implementations": [
"eth:0xD2ED3FA35be899fe850075946Fc7320bB4c18C29"
]
}
],
"description": "L1 counterpart receiving messages from the LineaL2Gateway on Linea. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x803460416C2682Ac54FccF03eF77b10A12f2809b#code"
},
{
"name": "MantaL1Gateway",
"isVerified": true,
"address": "eth:0x649Dfa2c4d09D877419fA1eDC4005BfbEF7CD82D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0x6d6Ce5A491cC2BE2f56AA02aa68AaE8acE927962"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709281103,
"transactionHash": "0x4edc02a8e19662c19aa6263b39b11c5faa8be3312a83505f79e1c64352b20c53",
"implementations": [
"eth:0x161f4BAAb4052f20F5f4347eC4422556aA0477f0"
]
},
{
"timestamp": 1709981231,
"transactionHash": "0xb5a1a3bd4ba7f9fb2d0f3d22755881f2d6998f9dfaf6f70194659f71aedf86b8",
"implementations": [
"eth:0x6d6Ce5A491cC2BE2f56AA02aa68AaE8acE927962"
]
}
],
"description": "L1 counterpart receiving messages from the MantaL2Gateway on Manta Pacific. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x649Dfa2c4d09D877419fA1eDC4005BfbEF7CD82D#code"
},
{
"name": "MantleL1Gateway",
"isVerified": true,
"address": "eth:0xdE1Ce751405Fe6D836349226EEdCDFFE1C3BE269",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0xe98EDDAd1f49abc7586eE516d019D834FBDc2951"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709281211,
"transactionHash": "0x373a2fba4cbf35d0dbe1e93d4c3d3a5cec9853c84b81b6088f3aa6990f22f4f1",
"implementations": [
"eth:0xa86ef37098C0507196A5f411AfFbf8f51FCe9637"
]
},
{
"timestamp": 1709981171,
"transactionHash": "0x36b3bf7e49f03b37dc4fc5ffc4086d6a93dfea8536e80ffde066de879db7f2cd",
"implementations": [
"eth:0xe98EDDAd1f49abc7586eE516d019D834FBDc2951"
]
}
],
"description": "L1 counterpart receiving messages from the MantleL2Gateway on Mantle. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xdE1Ce751405Fe6D836349226EEdCDFFE1C3BE269#code"
},
{
"name": "EraL1Gateway",
"isVerified": true,
"address": "eth:0xeCD189e0f390826E137496a4e4a23ACf76c942Ab",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0x59Ad3580c9e0992D474954327f5879AF5B3e4a22"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709281355,
"transactionHash": "0xa8070c4addf0258525ca69e13ee1d2d7a5098c0a7ffd29ec28f1920f4fc465b8",
"implementations": [
"eth:0xFF2568C81453a0741b1b97f3Fe598B07a927d79E"
]
},
{
"timestamp": 1709622143,
"transactionHash": "0xc24ab17a2b61d12b44999bbb861baf3f0f73b59881c80fae8c9763f83c7d1219",
"implementations": [
"eth:0x04bF7cf48a68dfC744fc22662B90e2ecaf14D716"
]
},
{
"timestamp": 1709981051,
"transactionHash": "0x337b3879d9a4e751f6aff14cdb948d3b5cb63cbb60233cbd789adca9205d4aaa",
"implementations": [
"eth:0x8915B1750f337342F2b6A2eF1BF12e279e3b497E"
]
},
{
"timestamp": 1713615719,
"transactionHash": "0xee6a34e852c4927c2afcf361307e2245771cf97a2e57f02f46ce8e9dfdd4771f",
"implementations": [
"eth:0x59Ad3580c9e0992D474954327f5879AF5B3e4a22"
]
}
],
"description": "L1 counterpart receiving messages from the EraL2Gateway on ZKsync Era. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xeCD189e0f390826E137496a4e4a23ACf76c942Ab#code"
},
{
"name": "ArbitrumL1Gateway",
"isVerified": true,
"address": "eth:0x273D59aed2d793167c162E64b9162154B07583C0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0xF69302b6fF21116F9266bFA2fbE4ee23f6292875"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709281415,
"transactionHash": "0x8ff3969fc5600c4a0f42b86a858be420ac1eb3005ca3a5766fa04844dd8cbfa1",
"implementations": [
"eth:0xa005091c98e6793b90E1340Bbd36C5d6De36fB60"
]
},
{
"timestamp": 1709980991,
"transactionHash": "0x57a6a5ba63d2b0b231901f39e869036ada97f0c769faca33f45fcce37eb21aad",
"implementations": [
"eth:0xF69302b6fF21116F9266bFA2fbE4ee23f6292875"
]
}
],
"description": "L1 counterpart receiving messages from the ArbitrumL2Gateway on Arbitrum One. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x273D59aed2d793167c162E64b9162154B07583C0#code"
},
{
"name": "BlastL1Gateway",
"isVerified": true,
"address": "eth:0x41FaF46Ca4Dfd912B65B66D29BdD432782BB1158",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0x01334Df58feE28db184ae9D11467F38F7437FD80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710418475,
"transactionHash": "0x5d17ffa3cd6b87a4abf52debbd5348ecdd275b5d20733277c7ac517cfa61f901",
"implementations": [
"eth:0x1DFF9a84A7Df94084995cAE2feac4a31fBCf4c9E"
]
},
{
"timestamp": 1713615719,
"transactionHash": "0xee6a34e852c4927c2afcf361307e2245771cf97a2e57f02f46ce8e9dfdd4771f",
"implementations": [
"eth:0x01334Df58feE28db184ae9D11467F38F7437FD80"
]
}
],
"description": "L1 counterpart receiving messages from the BlastL2Gateway on Blast. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x41FaF46Ca4Dfd912B65B66D29BdD432782BB1158#code"
},
{
"name": "OptimismL1Gateway",
"isVerified": true,
"address": "eth:0x668e8F67adB8219e1816C2E5bBEa055A78AF3026",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x344A908d1a7b7d06B7AD7169C1db81fc9d496dE9"
],
"implementations": [
"eth:0x2e8AD1434663b209EE59eF1a6612114239F4a190"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711092707,
"transactionHash": "0x70ae3fc5f6442e19741bfcf455957088729aee976bb1b80d7224c4a37d2ce6bd",
"implementations": [
"eth:0x2e8AD1434663b209EE59eF1a6612114239F4a190"
]
}
],
"description": "L1 counterpart receiving messages from the OptimismL2Gateway on OP Mainnet. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x668e8F67adB8219e1816C2E5bBEa055A78AF3026#code"
},
{
"name": "BaseL1Gateway",
"isVerified": true,
"address": "eth:0x4eEA93966AA5cd658225E0D43b665A5a491d2b7E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x344A908d1a7b7d06B7AD7169C1db81fc9d496dE9"
],
"implementations": [
"eth:0x0C25f3ACCB17a9D60408D1c79bD7218073DAd518"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711095887,
"transactionHash": "0x93767478c99ec84e15e69f2f18adb4fef4e1017c524c44088168d95d60d17419",
"implementations": [
"eth:0x0C25f3ACCB17a9D60408D1c79bD7218073DAd518"
]
}
],
"description": "L1 counterpart receiving messages from the BaseL2Gateway on Base. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x4eEA93966AA5cd658225E0D43b665A5a491d2b7E#code"
},
{
"name": "ScrollL1Gateway",
"isVerified": true,
"address": "eth:0x986c905087a663db3C81ad319b94c1E9dd388e92",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xdb4D755E3b8735314147b9bB146327C269701E2D"
],
"implementations": [
"eth:0xdB97dBF9c0A20aA8B4787563B6bE04e83E7ECDFB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1718004791,
"transactionHash": "0x380f252111050403dc380bc5b2b0f894555743e4bcec985e41602b9abb40e2de",
"implementations": [
"eth:0xdB97dBF9c0A20aA8B4787563B6bE04e83E7ECDFB"
]
}
],
"description": "L1 counterpart receiving messages from the ScrollL2Gateway on Scroll. It redirects them to the Arbitrator contract.",
"upgradableBy": [
{
"name": "EthereumOwner",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x986c905087a663db3C81ad319b94c1E9dd388e92#code"
}
],
"optimism": [
{
"name": "OptimismL1ERC20Bridge",
"isVerified": true,
"address": "oeth:0x5Bd51296423A9079b931414C1De65e7057326EaA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0xA688B4E1375Ed6b9129dF4959da4a271B33e50a4"
],
"implementations": [
"oeth:0x21Fe89FfB96d4092b42c8ab35dcFEee50a86C3B8"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1711095511,
"transactionHash": "0x965f198c04e811f47221086ef6452f50af7e949ff2f5bb10125ba1a516999e44",
"implementations": [
"oeth:0x683669E5B6cDc6636673a5f7ddB68E20812216F5"
]
},
{
"timestamp": 1712211893,
"transactionHash": "0x5154061f44b9d3baf51c0211c4a0126b47486e3e06d89006106034afd62e24f8",
"implementations": [
"oeth:0x21Fe89FfB96d4092b42c8ab35dcFEee50a86C3B8"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from OP Mainnet to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "OptimismOwner",
"delay": "no"
}
],
"url": "https://optimistic.etherscan.io/address/0x5Bd51296423A9079b931414C1De65e7057326EaA#code"
},
{
"name": "OptimismzkLink",
"isVerified": true,
"address": "oeth:0x46C8D02E93d5a03899dFa7Cf8A40A07589A3fA1b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x2c3FF918E3925CC3ba95f41307D1cfBEFDF93dB9"
],
"implementations": [
"oeth:0xe71A6Cfb42D0398f6d6aeD8a19987C83bbE3B86E"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1711092485,
"transactionHash": "0x412ad99eb52f12520a7367ec39f9b56a06e25aa1b17847dbe23f6700baa4bfaa",
"implementations": [
"oeth:0xebdA7f097EF976e8E82FA11F05ef1906f3068105"
]
},
{
"timestamp": 1713446493,
"transactionHash": "0xc9ff607b3fb208f26fadc47cde08c41273c79039e1f7bf2c9f5313d4b3869107",
"implementations": [
"oeth:0xe71A6Cfb42D0398f6d6aeD8a19987C83bbE3B86E"
]
}
],
"description": "Main messaging contract on OP Mainnet and ETH escrow. Outgoing messages (like deposits) are sent through the OptimismL2Gateway which ultimately makes use of OP Mainnet's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "OptimismOwner",
"delay": "no"
}
],
"url": "https://optimistic.etherscan.io/address/0x46C8D02E93d5a03899dFa7Cf8A40A07589A3fA1b#code"
},
{
"name": "OptimismL2Gateway",
"isVerified": true,
"address": "oeth:0xaD5d729291C0d6A299E370814CA6Ce1c8C25b51c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x344A908d1a7b7d06B7AD7169C1db81fc9d496dE9"
],
"implementations": [
"oeth:0x3C3f4b866f8c6F0D2c912feE36D5Ad337a9AA98e"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1711092577,
"transactionHash": "0x2da77621f5936cebac55ac1c25951289f2aad1fae1a7a0ccb8388b2332f804e4",
"implementations": [
"oeth:0x3C3f4b866f8c6F0D2c912feE36D5Ad337a9AA98e"
]
}
],
"description": "High level interface between the local zkLink contract and OP's message service.",
"upgradableBy": [
{
"name": "OptimismOwner",
"delay": "no"
}
],
"url": "https://optimistic.etherscan.io/address/0xaD5d729291C0d6A299E370814CA6Ce1c8C25b51c#code"
}
],
"arbitrum": [
{
"name": "ArbitrumL1ERC20Bridge",
"isVerified": true,
"address": "arb1:0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x48698A17D193bFc882395AC06a1DEdbb222F2917"
],
"implementations": [
"arb1:0x1202e0557A23531D09015C802e993d6423685FfB"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1709296973,
"transactionHash": "0x4879e7a6e35cdd40863e69eec2b64cafa514ca68ea8b4b9942c9624a18bfa2bf",
"implementations": [
"arb1:0x5f58BcCE409CDaFBbD705e720743b1EfF9fef28c"
]
},
{
"timestamp": 1712211957,
"transactionHash": "0x99c592973087e232fa0685460c1e5992ef3a5cd0d80e8c6739d738b08787bece",
"implementations": [
"arb1:0x1202e0557A23531D09015C802e993d6423685FfB"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Arbitrum One to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "ArbitrumOwner",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585#code"
},
{
"name": "ArbitrumzkLink",
"isVerified": true,
"address": "arb1:0xFF73a1a1d27951A005eb23276dc99CB7F8d5420A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xa29fFe244898CBec19DFEaAfB5cE671389FfF60F"
],
"implementations": [
"arb1:0xe2cd603BFAe63EEFBDf0C51485f835D8B419A305"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1709280428,
"transactionHash": "0x188f9617f4266ba6c55c01e49a2b918860f60ab012dd921f7a6bbf2478380b4b",
"implementations": [
"arb1:0x50efC7f1290479cb879473512D89fDC80B726211"
]
},
{
"timestamp": 1709980757,
"transactionHash": "0x2d6ab13f653c95e66eb8f995ecec5218aaa69dc457d8c314d5c0df3383b0a7eb",
"implementations": [
"arb1:0x04C6a52f3bf9F73618cD70F234AdB95a73325D1e"
]
},
{
"timestamp": 1713752983,
"transactionHash": "0x22f2009bf7f9c0cec80080ccd77d22c1bcf8e318cc2d2a442cae078746f19a6e",
"implementations": [
"arb1:0xe2cd603BFAe63EEFBDf0C51485f835D8B419A305"
]
}
],
"description": "Main messaging contract on Arbitrum One and ETH escrow. Outgoing messages (like deposits) are sent through the ArbitrumL2Gateway which ultimately makes use of Arbitrum One's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "ArbitrumOwner",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xFF73a1a1d27951A005eb23276dc99CB7F8d5420A#code"
},
{
"name": "ArbitrumL2Gateway",
"isVerified": true,
"address": "arb1:0x7bd79DEd935B542fb22c74305a4d2A293C18483a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xa29fFe244898CBec19DFEaAfB5cE671389FfF60F"
],
"implementations": [
"arb1:0x413552461b0b2c13f117d885b52AaA2f23374B1D"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1709280477,
"transactionHash": "0xaa8e1f332b3da71bb09cffdf5b797cdf7bc285cfad780a78d294c02619dba31e",
"implementations": [
"arb1:0xA194FB4EaB262EC9886A119609bbB2800bdD3a2E"
]
},
{
"timestamp": 1709981757,
"transactionHash": "0x2bc75a8c67da17b0d0c4543bfc3bbc51248fba5b4430ecf3f8836fe83d7b065a",
"implementations": [
"arb1:0x413552461b0b2c13f117d885b52AaA2f23374B1D"
]
}
],
"description": "High level interface between the local zkLink contract and Arbitrum's message service.",
"upgradableBy": [
{
"name": "ArbitrumOwner",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x7bd79DEd935B542fb22c74305a4d2A293C18483a#code"
}
],
"base": [
{
"name": "BaseL1ERC20Bridge",
"isVerified": true,
"address": "base:0x80d12A78EfE7604F00ed07aB2f16F643301674D5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x85F0d9da054C5FE399E079Cc0b47de74be5b22AE"
],
"implementations": [
"base:0xA89aa7e3D34516EAB7129E401215d5d1239Ce715"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1711098033,
"transactionHash": "0xd9b67d7dc47832724dd1b7bdc7e734d949b55a7e329662ccc91016eeed6fb60a",
"implementations": [
"base:0x413552461b0b2c13f117d885b52AaA2f23374B1D"
]
},
{
"timestamp": 1712212773,
"transactionHash": "0xe6819dfc1ae0abb6a95ad6b8778ca1ad6eda78b48e4f9685819bb09df8b5c8c8",
"implementations": [
"base:0xA89aa7e3D34516EAB7129E401215d5d1239Ce715"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Base to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "BaseOwner",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x80d12A78EfE7604F00ed07aB2f16F643301674D5#code"
},
{
"name": "BasezkLink",
"isVerified": true,
"address": "base:0xE473ce141b1416Fe526eb63Cf7433b7B8d7264Dd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xEf1c84A2fdCE663b75dB3F822cBe1cFddaaa162C"
],
"implementations": [
"base:0x08Ca9154DA9318323D3f6DFd872f5cDC4C85E388"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1711095697,
"transactionHash": "0xb135f489f7b7bcb2593e487ba1c07df4c6bb382b98f3ee1cb37a608715f7b180",
"implementations": [
"base:0x314bF0D901361F2e31A18cb3500bFD33aF51dE47"
]
},
{
"timestamp": 1713446693,
"transactionHash": "0x6c9c54497c2950dfbedc2c1c5e77cfadb8381e95743c32a240d43605a7f8f2b4",
"implementations": [
"base:0x08Ca9154DA9318323D3f6DFd872f5cDC4C85E388"
]
}
],
"description": "Main messaging contract on Base and ETH escrow. Outgoing messages (like deposits) are sent through the BaseL2Gateway which ultimately makes use of Base's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "BaseOwner",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xE473ce141b1416Fe526eb63Cf7433b7B8d7264Dd#code"
},
{
"name": "BaseL2Gateway",
"isVerified": true,
"address": "base:0x1054Ff8B3B7B9F68d2e55C4A42E8952332c69011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x344A908d1a7b7d06B7AD7169C1db81fc9d496dE9"
],
"implementations": [
"base:0x7f00134427437b2883F59EF3880597FDc836E356"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1711095783,
"transactionHash": "0xceb644026cf3c4c4f5c91e64352f5b2bceaaacc69e8f3c6a23591bf29fa16978",
"implementations": [
"base:0x7f00134427437b2883F59EF3880597FDc836E356"
]
}
],
"description": "High level interface between the local zkLink contract and Base's message service.",
"upgradableBy": [
{
"name": "BaseOwner",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x1054Ff8B3B7B9F68d2e55C4A42E8952332c69011#code"
}
],
"mantapacific": [
{
"name": "MantaL1ERC20Bridge",
"isVerified": true,
"address": "manta:0x44a65dc12865A1e5249b45b4868f32b0E37168FF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"manta:0x01aFbE3D5DC8A0C8271de9bCB091224f037EfE05"
],
"implementations": [
"manta:0x5f58BcCE409CDaFBbD705e720743b1EfF9fef28c"
]
},
"chain": "mantapacific",
"pastUpgrades": [
{
"timestamp": 1709295839,
"transactionHash": "0x2943e153ac49278eb44cc3606eb830489bd39126056837515c5f1d4fd6262943",
"implementations": [
"manta:0x0d53cE63f3A72879d543ed6272A081308A731470"
]
},
{
"timestamp": 1712212849,
"transactionHash": "0x15196bbffee8d57f18df9fead80e6301e9468716eef250ffbc5822cd435dd4a1",
"implementations": [
"manta:0x5f58BcCE409CDaFBbD705e720743b1EfF9fef28c"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Manta Pacific to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "MantaOwner",
"delay": "no"
}
],
"url": "https://pacific-explorer.manta.network/address/0x44a65dc12865A1e5249b45b4868f32b0E37168FF#code"
},
{
"name": "MantazkLink",
"isVerified": true,
"address": "manta:0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"manta:0x6ed8745d9ad0EE1fEeB060d63c7cf78A7E4c2dE3"
],
"implementations": [
"manta:0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585"
]
},
"chain": "mantapacific",
"pastUpgrades": [
{
"timestamp": 1709279099,
"transactionHash": "0xc4750009e40fe4c7c227dc379408c428ce6ff26c296f9eb06815b021339fdf69",
"implementations": [
"manta:0x5715Dec4cd747675E47b969D3a15aab909b8ce05"
]
},
{
"timestamp": 1709979429,
"transactionHash": "0x8ee4d527346b72e8b98838d84ef8667fc841944314f583cabf9993f6f462f848",
"implementations": [
"manta:0xe89635a7339bf46198f76b17bCFdAD977699cc13"
]
},
{
"timestamp": 1713753109,
"transactionHash": "0x469dbeecfffe82b89157782a568b255280c6058eb429a32feff865321c640339",
"implementations": [
"manta:0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585"
]
}
],
"description": "Main messaging contract on Manta Pacific and ETH escrow. Outgoing messages (like deposits) are sent through the MantaPacificL2Gateway which ultimately makes use of Manta Pacific's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "MantaOwner",
"delay": "no"
}
],
"url": "https://pacific-explorer.manta.network/address/0xD784d7128B46B60Ca7d8BdC17dCEC94917455657#code"
},
{
"name": "MantaL2Gateway",
"isVerified": true,
"address": "manta:0xe946aBB40928326ce5bFF303E7B8f0f253EA39D0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"manta:0x6ed8745d9ad0EE1fEeB060d63c7cf78A7E4c2dE3"
],
"implementations": [
"manta:0x50efC7f1290479cb879473512D89fDC80B726211"
]
},
"chain": "mantapacific",
"pastUpgrades": [
{
"timestamp": 1709279189,
"transactionHash": "0x1fca63a739c05f1e22df26b3cc5b2af31de992156fc017e7810cc94671913fee",
"implementations": [
"manta:0x55fa5276c44c1B465196898b144524C9c852235E"
]
},
{
"timestamp": 1709292159,
"transactionHash": "0x59d14b41116012c515c95ed7546fdcc82a1535184eb2a134daff77bf2db9c5f6",
"implementations": [
"manta:0xbfa352a683D82a04233Cc45AC1308621BA63283f"
]
},
{
"timestamp": 1709292569,
"transactionHash": "0x4a6764267c156b1453ce1460fca710b3544d2df4ddeb03c625843c891886cb1b",
"implementations": [
"manta:0x55fa5276c44c1B465196898b144524C9c852235E"
]
},
{
"timestamp": 1709981569,
"transactionHash": "0x40fe517bb5f7d135cc8dc1c39fe59b6ec44bf2b9477ab4f9f3e7fc09f658e892",
"implementations": [
"manta:0x50efC7f1290479cb879473512D89fDC80B726211"
]
}
],
"description": "High level interface between the local zkLink contract and Manta Pacific's message service.",
"upgradableBy": [
{
"name": "MantaOwner",
"delay": "no"
}
],
"url": "https://pacific-explorer.manta.network/address/0xe946aBB40928326ce5bFF303E7B8f0f253EA39D0#code"
}
],
"mantle": [
{
"name": "MantleL1ERC20Bridge",
"isVerified": true,
"address": "mantle:0x62351b47e060c61868Ab7E05920Cb42bD9A5f2B2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"mantle:0xeAe8e5180EAE503E4Ffef2F5D48E20164eD41b82"
],
"implementations": [
"mantle:0x7769C18828569692Dfb65affa0856533613ea458"
]
},
"chain": "mantle",
"pastUpgrades": [
{
"timestamp": 1709296907,
"transactionHash": "0xaf05aafd35db4063ec7549aeed61f0a2ced59a80c34aefe1a2f7e0de6a1ac7c8",
"implementations": [
"mantle:0xbfa352a683D82a04233Cc45AC1308621BA63283f"
]
},
{
"timestamp": 1712212048,
"transactionHash": "0xed9f3f5842ead3da2348d8edfbcacf5bf0572cc53ec3443c5229c23845d63f9c",
"implementations": [
"mantle:0x7769C18828569692Dfb65affa0856533613ea458"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Mantle to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "MantleOwner",
"delay": "no"
}
],
"url": "https://explorer.mantle.xyz/address/0x62351b47e060c61868Ab7E05920Cb42bD9A5f2B2#code"
},
{
"name": "MantlezkLink",
"isVerified": true,
"address": "mantle:0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"mantle:0x1aB4D3cfcCCB28DBc8993454f461f3565281BB60"
],
"implementations": [
"mantle:0x0C04046546C46652969Aa9eB4BFB758cFDf1e821"
]
},
"chain": "mantle",
"pastUpgrades": [
{
"timestamp": 1709279309,
"transactionHash": "0x6a00d05f32d4cad32533eacc6bfe09f424002d60b1474ec6d9615d7ad7f86abe",
"implementations": [
"mantle:0x5715Dec4cd747675E47b969D3a15aab909b8ce05"
]
},
{
"timestamp": 1709979353,
"transactionHash": "0x0f8754436aa05997946fd34f1a0573cb22a6c27181af505cb4d4121723bdd1cd",
"implementations": [
"mantle:0x85079cb83B6cadba34e64bc0f24493F49D8b1F4e"
]
},
{
"timestamp": 1713753082,
"transactionHash": "0xecf1785a348ae45261abf6f4bc82163701840e4740a5c104f036305677d800e8",
"implementations": [
"mantle:0xa8486096C719024D4eB2262A45AAc5cA8A256Cd6"
]
},
{
"timestamp": 1714727390,
"transactionHash": "0x10bb5a3d57fc38cfc2e56d9046c00aba1a47fe4ad38162ba0a5ec19c6b2cc6e7",
"implementations": [
"mantle:0x0C04046546C46652969Aa9eB4BFB758cFDf1e821"
]
}
],
"description": "Main messaging contract on Mantle and ETH escrow. Outgoing messages (like deposits) are sent through the MantleL2Gateway which ultimately makes use of Mantle's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "MantleOwner",
"delay": "no"
}
],
"url": "https://explorer.mantle.xyz/address/0xD784d7128B46B60Ca7d8BdC17dCEC94917455657#code"
},
{
"name": "MantleL2Gateway",
"isVerified": true,
"address": "mantle:0xe946aBB40928326ce5bFF303E7B8f0f253EA39D0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"mantle:0x1aB4D3cfcCCB28DBc8993454f461f3565281BB60"
],
"implementations": [
"mantle:0xCdcDF691aF3e3717A35A2352aB7e34fd2980613D"
]
},
"chain": "mantle",
"pastUpgrades": [
{
"timestamp": 1709279398,
"transactionHash": "0xdb5d3920a2bbd9c5a3d97b54c227aa56d0f555060a03d7212a0d05b4239ec0f9",
"implementations": [
"mantle:0x55fa5276c44c1B465196898b144524C9c852235E"
]
},
{
"timestamp": 1709981511,
"transactionHash": "0xd264b50869bc4bd7d2c3ad80541399bc5a1963aa4ef010ea40e699ab0a56a9a7",
"implementations": [
"mantle:0x09CB6C5A235939258e3F6Ae2989cf6f26EeE1c72"
]
},
{
"timestamp": 1714727390,
"transactionHash": "0x10bb5a3d57fc38cfc2e56d9046c00aba1a47fe4ad38162ba0a5ec19c6b2cc6e7",
"implementations": [
"mantle:0xCdcDF691aF3e3717A35A2352aB7e34fd2980613D"
]
}
],
"description": "High level interface between the local zkLink contract and Mantle's message service.",
"upgradableBy": [
{
"name": "MantleOwner",
"delay": "no"
}
],
"url": "https://explorer.mantle.xyz/address/0xe946aBB40928326ce5bFF303E7B8f0f253EA39D0#code"
}
],
"scroll": [
{
"name": "ScrollL1ERC20Bridge",
"isVerified": true,
"address": "scr:0x3C7c0ebFCD5786ef48df5ed127cdDEb806db976c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xC4673dAbfAf04D2A430e244B63F040D27199102f"
],
"implementations": [
"scr:0x067c7126a83560Ed2Fc345d25799F696B7Ea47Ca"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1718026877,
"transactionHash": "0xd2775129688587d97fff37813acd0581f68fdfe7f1a52b36a779e4ef9021c3fe",
"implementations": [
"scr:0x067c7126a83560Ed2Fc345d25799F696B7Ea47Ca"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Scroll to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "ScrollOwner",
"delay": "no"
}
],
"url": "https://scrollscan.com/address/0x3C7c0ebFCD5786ef48df5ed127cdDEb806db976c#code"
},
{
"name": "ScrollzkLink",
"isVerified": true,
"address": "scr:0x119B9459D9119D07c23aD06778AeaBec804Fd1a2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xeCa8EB8B909A29C2F912d5b0cBB153a43c860c77"
],
"implementations": [
"scr:0xCdcDF691aF3e3717A35A2352aB7e34fd2980613D"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1718004361,
"transactionHash": "0x9d2ffc640100c25deacf7308dafb540b000bfc8a3d6fa8dab19ec9150ce38434",
"implementations": [
"scr:0xCdcDF691aF3e3717A35A2352aB7e34fd2980613D"
]
}
],
"description": "Main messaging contract on Scroll and ETH escrow. Outgoing messages (like deposits) are sent through the ScrollL2Gateway which ultimately makes use of Scroll's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "ScrollOwner",
"delay": "no"
}
],
"url": "https://scrollscan.com/address/0x119B9459D9119D07c23aD06778AeaBec804Fd1a2#code"
},
{
"name": "ScrollL2Gateway",
"isVerified": true,
"address": "scr:0xd8428A59B60Df2d81514D429D57DF23293f1bCe7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xeCa8EB8B909A29C2F912d5b0cBB153a43c860c77"
],
"implementations": [
"scr:0xe469c1330cEEcC375fE17E7D649eA270186D344F"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1718004634,
"transactionHash": "0xa45f6d61d7c5c041f10950e9448a39a9fbf490d2fcb3155ff9add77b43cfc0c6",
"implementations": [
"scr:0xe469c1330cEEcC375fE17E7D649eA270186D344F"
]
}
],
"description": "High level interface between the local zkLink contract and Scroll's message service.",
"upgradableBy": [
{
"name": "ScrollOwner",
"delay": "no"
}
],
"url": "https://scrollscan.com/address/0xd8428A59B60Df2d81514D429D57DF23293f1bCe7#code"
}
],
"blast": [
{
"name": "BlastL1ERC20Bridge",
"isVerified": true,
"address": "blastmainnet:0x8Df0c2bA3916bF4789c50dEc5A79b2fc719F500b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"blastmainnet:0xB5111Bda1E59b220d0Cf8D519CEDac46cb3B4c19"
],
"implementations": [
"blastmainnet:0xc24864769346073f5fEf0386A18734F0eF5503F5"
]
},
"chain": "blast",
"pastUpgrades": [
{
"timestamp": 1710427013,
"transactionHash": "0x6c75a5c435f7e399d35fa65b31295cfa722742a9cd03208bcf726891f028d0b2",
"implementations": [
"blastmainnet:0x4D7012d5C62c351804CCe49c2d7C09A401fD3deC"
]
},
{
"timestamp": 1712212871,
"transactionHash": "0x319fa19f70ff861bf9b573f1cc6054d236dcb99dec620756e3f85d2c35c0040b",
"implementations": [
"blastmainnet:0xc24864769346073f5fEf0386A18734F0eF5503F5"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from Blast to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "BlastOwner",
"delay": "no"
}
],
"url": "https://blastscan.io/address/0x8Df0c2bA3916bF4789c50dEc5A79b2fc719F500b#code"
},
{
"name": "BlastzkLink",
"isVerified": true,
"address": "blastmainnet:0x29BA92Fe724beD5c5EBfd0099F2F64a6DC5078FD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"blastmainnet:0x730200f698cc8Ff16C00F4E8520Fd780B916D50E"
],
"implementations": [
"blastmainnet:0xDe4Be50Bfe9503180231357Eab19d709F8F73C66"
]
},
"chain": "blast",
"pastUpgrades": [
{
"timestamp": 1710417729,
"transactionHash": "0xd2b32d00ff07d1bb06d1fb01f3aedb6163ee3bf6fbe547310c4674f592d4d7f5",
"implementations": [
"blastmainnet:0x35E808DB3A37eec12ecF6A22Cc951C9F867f1D64"
]
},
{
"timestamp": 1713753045,
"transactionHash": "0xb0fd8cd86cd093af8f866f6fd599067fc5d202d36fd1f4967bda245c41ee16aa",
"implementations": [
"blastmainnet:0xDe4Be50Bfe9503180231357Eab19d709F8F73C66"
]
}
],
"description": "Main messaging contract on Blast and ETH escrow. Outgoing messages (like deposits) are sent through the BlastL2Gateway which ultimately makes use of Blast's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "BlastOwner",
"delay": "no"
}
],
"url": "https://blastscan.io/address/0x29BA92Fe724beD5c5EBfd0099F2F64a6DC5078FD#code"
},
{
"name": "BlastL2Gateway",
"isVerified": true,
"address": "blastmainnet:0x3f64e2e09732969813904a8473074CFADeE66AF1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"blastmainnet:0x730200f698cc8Ff16C00F4E8520Fd780B916D50E"
],
"implementations": [
"blastmainnet:0xd1dCd063A4e650DCECd8BD211fe6D18a934ecCaD"
]
},
"chain": "blast",
"pastUpgrades": [
{
"timestamp": 1710418385,
"transactionHash": "0x05e9bceb1c88e60beabf453da2cfc31525989a529e5d600fbe170dfdb1325c88",
"implementations": [
"blastmainnet:0xd1dCd063A4e650DCECd8BD211fe6D18a934ecCaD"
]
}
],
"description": "High level interface between the local zkLink contract and Blast's message service.",
"upgradableBy": [
{
"name": "BlastOwner",
"delay": "no"
}
],
"url": "https://blastscan.io/address/0x3f64e2e09732969813904a8473074CFADeE66AF1#code"
}
],
"zksync2": [
{
"name": "EraL1ERC20Bridge",
"isVerified": false,
"address": "zksync:0xaB3DDB86072a35d74beD49AA0f9210098ebf2D08",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xe8184919c7200EF09e7007DFaB89BA4a99CeDc98"
],
"implementations": [
"zksync:0xdBA32e62e929a7e2Fa65782F812416CA65208E40"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1709297079,
"transactionHash": "0x0564dfd39bc1c198014393565488b4808d94d76790f60c342ac6b031a000233d",
"implementations": [
"zksync:0x022c9D356d6B020D3128de430458A28C7183a13d"
]
},
{
"timestamp": 1712211917,
"transactionHash": "0x7886648572871a6eb12027c117e273d16ee8026b5f51c0b01b209c0218caf005",
"implementations": [
"zksync:0xdBA32e62e929a7e2Fa65782F812416CA65208E40"
]
}
],
"description": "Main entry point for depositing ERC20 tokens from ZKsync Era to zkLink Nova. Outgoing messages and incoming withdrawal validation is delegated to the zkLink contract.",
"upgradableBy": [
{
"name": "EraOwner",
"delay": "no"
}
],
"url": "https://explorer.zksync.io/address/0xaB3DDB86072a35d74beD49AA0f9210098ebf2D08#code"
},
{
"name": "ErazkLink",
"isVerified": false,
"address": "zksync:0xaFe8C7Cf33eD0fee179DFF20ae174C660883273A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0x3334552599C9aA1FE08CfF276A02033FF37646ca"
],
"implementations": [
"zksync:0xC9bBbdCf1778A4aA86544F02CccBf09fd3A0706E"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1709280624,
"transactionHash": "0xc46fbc277cb8c7a4cc234225d13ef11be35301d8aae17df2537a2b54692ab750",
"implementations": [
"zksync:0x1D3A82B3BDE1d23D3989b77325C4875395c9D6a9"
]
},
{
"timestamp": 1709979716,
"transactionHash": "0x36b4b07ab7556a46e511974d1e6ef3baacce9b569299326bba10f33d8166d0f0",
"implementations": [
"zksync:0xCaAeA20e1e35214342f4Efe87d3912493E3e1CE5"
]
},
{
"timestamp": 1713752936,
"transactionHash": "0x35dad9f42bcd7e9c55385a3656325f94616498878f636e080dbd059f80618492",
"implementations": [
"zksync:0xC9bBbdCf1778A4aA86544F02CccBf09fd3A0706E"
]
}
],
"description": "Main messaging contract on ZKsync Era and ETH escrow. Outgoing messages (like deposits) are sent through the ZKsync2L2Gateway which ultimately makes use of ZKsync Era's canonical messaging bridge to reach the Arbitrator on L1. Only whitelisted validators can sync messages with zkLink Nova, which also transfer the ETH to it via the respective canonical bridges. Incoming messages (like withdrawals) are validated on Linea first and then sent to this contract through the same path. Whitelisted validators can also relay messages to zkLink without going through the canonical bridge (fast path), which are later cross-checked with the slow path. If the check fails, the system halts.",
"upgradableBy": [
{
"name": "EraOwner",
"delay": "no"
}
],
"url": "https://explorer.zksync.io/address/0xaFe8C7Cf33eD0fee179DFF20ae174C660883273A#code"
}
]
},
"escrows": [
{
"chain": "optimism",
"includeInTotal": false,
"address": "0x46C8D02E93d5a03899dFa7Cf8A40A07589A3fA1b",
"sinceTimestamp": 1711092485,
"tokens": [
"ETH"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Optimism"
}
]
},
"chainId": 10
},
{
"chain": "optimism",
"includeInTotal": false,
"address": "0x5Bd51296423A9079b931414C1De65e7057326EaA",
"sinceTimestamp": 1711095511,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Optimism"
}
]
},
"chainId": 10
},
{
"chain": "linea",
"includeInTotal": false,
"address": "0x5Cb18b6e4e6F3b46Ce646b0f4704D53724C5Df05",
"sinceTimestamp": 1709218085,
"tokens": [
"ETH"
],
"chainId": 59144
},
{
"chain": "linea",
"includeInTotal": false,
"address": "0x62cE247f34dc316f93D3830e4Bf10959FCe630f8",
"sinceTimestamp": 1709218113,
"tokens": "*",
"chainId": 59144
},
{
"chain": "ethereum",
"includeInTotal": false,
"address": "0x5fD9F73286b7E8683Bab45019C94553b93e015Cf",
"sinceTimestamp": 1709278799,
"tokens": [
"ETH"
],
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Ethereum"
}
]
},
"chainId": 1
},
{
"chain": "ethereum",
"includeInTotal": false,
"address": "0xAd16eDCF7DEB7e90096A259c81269d811544B6B6",
"sinceTimestamp": 1709295323,
"tokens": "*",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Ethereum"
}
]
},
"premintedTokens": [
"ZKL"
],
"chainId": 1
},
{
"chain": "mantapacific",
"includeInTotal": false,
"address": "0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
"sinceTimestamp": 1709279099,
"tokens": [
"ETH"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Mantapacific"
}
]
},
"chainId": 169
},
{
"chain": "mantapacific",
"includeInTotal": false,
"address": "0x44a65dc12865A1e5249b45b4868f32b0E37168FF",
"sinceTimestamp": 1709295839,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Mantapacific"
}
]
},
"chainId": 169
},
{
"chain": "mantle",
"includeInTotal": false,
"address": "0xD784d7128B46B60Ca7d8BdC17dCEC94917455657",
"sinceTimestamp": 1709279309,
"tokens": [
"MNT"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Mantle"
}
]
},
"chainId": 5000
},
{
"chain": "mantle",
"includeInTotal": false,
"address": "0x62351b47e060c61868Ab7E05920Cb42bD9A5f2B2",
"sinceTimestamp": 1709296907,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Mantle"
}
]
},
"chainId": 5000
},
{
"chain": "zksync2",
"includeInTotal": false,
"address": "0xaFe8C7Cf33eD0fee179DFF20ae174C660883273A",
"sinceTimestamp": 1709280600,
"tokens": [
"ETH"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from ZKsync Era"
}
]
},
"chainId": 324
},
{
"chain": "zksync2",
"includeInTotal": false,
"address": "0xaB3DDB86072a35d74beD49AA0f9210098ebf2D08",
"sinceTimestamp": 1709297040,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from ZKsync Era"
}
]
},
"chainId": 324
},
{
"chain": "arbitrum",
"includeInTotal": false,
"address": "0xFF73a1a1d27951A005eb23276dc99CB7F8d5420A",
"sinceTimestamp": 1709280428,
"tokens": [
"ETH"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Arbitrum"
}
]
},
"chainId": 42161
},
{
"chain": "arbitrum",
"includeInTotal": false,
"address": "0xfB0Ad0B3C2605A7CA33d6badd0C685E11b8F5585",
"sinceTimestamp": 1709296973,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Arbitrum"
}
]
},
"chainId": 42161
},
{
"chain": "blast",
"includeInTotal": false,
"address": "0x29BA92Fe724beD5c5EBfd0099F2F64a6DC5078FD",
"sinceTimestamp": 1710417729,
"tokens": [
"ETH"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Blast"
}
]
},
"chainId": 81457
},
{
"chain": "blast",
"includeInTotal": false,
"address": "0x8Df0c2bA3916bF4789c50dEc5A79b2fc719F500b",
"sinceTimestamp": 1710427013,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Blast"
}
]
},
"chainId": 81457
},
{
"chain": "base",
"includeInTotal": false,
"address": "0xE473ce141b1416Fe526eb63Cf7433b7B8d7264Dd",
"sinceTimestamp": 1711095697,
"tokens": [
"ETH"
],
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Base"
}
]
},
"chainId": 8453
},
{
"chain": "base",
"includeInTotal": false,
"address": "0x80d12A78EfE7604F00ed07aB2f16F643301674D5",
"sinceTimestamp": 1711098033,
"tokens": "*",
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "zkLink Nova Bridge from Base"
}
]
},
"chainId": 8453
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": [
"linea:0x902C3806A84f4e855a8746e92d7F1C9a51400458"
]
}
+34 -2
+34 -2
{
"creator": "Polygon Labs",
"projectsForTvs": [
{
"projectId": "polygonzkevm",
"sinceTimestamp": 1679868000,
"untilTimestamp": 1764716400
},
{
"projectId": "silicon",
"sinceTimestamp": 1724796000
},
{
"projectId": "ternoa",
"sinceTimestamp": 1738105200
},
{
"projectId": "penchain",
"sinceTimestamp": 1749938400
},
{
"projectId": "wirex",
"sinceTimestamp": 1724796000
},
{
"projectId": "astarzkevm",
"sinceTimestamp": 1709679600
},
{
"projectId": "gpt",
"sinceTimestamp": 1724450400
},
{
"projectId": "witness",
"sinceTimestamp": 1719871200
}
],
"proofSystemInfo": "\n \n ## Description\n\n zkProver is a STARK proving system designed to implement the zkEVM component of Polygon zkEVM. It proves the execution of EVM transactions in a zkVM running on [zkASM](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/#zero-knowledge-assembly) ISA. zkProver allows recursive STARK aggregation as well as the final wrap in a [Fflonk](https://hecmas.github.io/events/2023fflonk/) SNARK for efficient onchain verification. zkProver onchain verifier targets 128 bits of security.\n\n ## Proof system\n\n zkProver toolkit introduces two new domain specific languages: zkASM and PIL. zkASM is the instruction language of the internal zkVM, and the execution of EVM transactions is proven with a specific zkASM program called [ROM](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/main-state-machine/#the-rom). PIL is a language for creating circuits, conceptually similar to [circom](https://docs.circom.io).\n\n zkProver is based on [eSTARK paper](https://eprint.iacr.org/2023/474), meaning that it implements a FRI-based STARK with AIR arithmetization extended with additional arguments. It also [provides tools](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/stark-recursion/composition-recursion-aggregation/#setup-phase) to automatically generate circom arithmetic circuits for verifying the STARK proof, which plays an essential role in proof compression and recursive proving. \n\n ### Polynomial Identity Language (PIL)\n\n The polynomial constraints that define circuits within zkProver are specified using a language called [polynomial identity language](https://github.com/0xPolygon/pilcom) (PIL). PIL supports complicated and powerful polynomial constraints, like [permutation](https://docs.polygon.technology/tools/zkevm/spec/pil/permutation-arguments/), [inclusion](https://docs.polygon.technology/tools/zkevm/spec/pil/inclusion-arguments/) and [connection](https://docs.polygon.technology/tools/zkevm/spec/pil/connection-arguments/) arguments. PIL was designed to be applicable in other zk tools as well. The next iteration of PIL called PIL2 could be found [here](https://github.com/0xPolygonHermez/pil2-compiler).\n\n ### State machine\n\n zkProver state machine (zkVM) consists of [13 separate state machines](https://github.com/0xPolygon/zkevm-prover/tree/main/src/sm) specified in PIL, including [main SM](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/main-state-machine/), [arithmetic SM](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/arithmetic-sm/), [binary SM](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/binary-sm/), etc. Each state machine creates its own execution trace, which is connected to the rest using connection argument. The state machine has access to EVM state trie, EVM memory and the ROM program that implements verification of EVM transactions in zkASM language. \n\n ### Recursion circuits\n\n [Proving architecture](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/stark-recursion/proving-architecture/) of zkProver consists of several stages. Compression stage reduces the size of STARK proofs of zkEVM batch execution for efficiency of further computations. Normalization stage prepares for aggregation by correctly aligning public inputs across several batches. Aggregation stage repeatedly joins pairs of STARK proofs to produce a single proof of multiple zkEVM batches. Final STARK stage changes the field over which the proof is generated to prepare for the SNARK wrap. Finally, SNARK stage produces a Fflonk proof to be posted onchain.\n\n Each recursion step uses a circom R1CS arithmetic circuit to verify input PIL-STARK proofs (see [here](https://docs.polygon.technology/tools/zkevm/architecture/zkprover/stark-recursion/composition-recursion-aggregation/#stark-to-circuit-or-s2c-sub-process)). The proof of verification is a PIL-STARK that is generated on the Plonkish arithmetization of this circom circuit.\n ",
"techStack": {
"zkVM": [
{
"id": "PIL-STARK",
"type": "STARK",
"name": "PIL-STARK",
"description": "zkVM STARK proving system that works with Polynomial Identity Language (PIL) developed by Polygon Zero team."
},
{
"id": "ZkASM",
"type": "ISA",
"name": "zkASM",
"description": "Instruction language for Polygon zkEVM virtual machine."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
}
],
"finalWrap": [
{
"id": "Snarkjs",
"type": "Fflonk",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Fflonk improvement over standard Plonk proving system written in JS."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Snarkjs",
"type": "Fflonk",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Fflonk improvement over standard Plonk proving system written in JS."
},
"id": "PolygonZkEVM",
"name": "Polygon zkEVM",
"risk": "yellow",
"shortDescription": "Trusted setup for KZG commitments over BN254 curve used by Polygon zkEVM, includes 55 participants. Is a subset of Perpetual Powers of Tau ceremony.",
"longDescription": "\n Ceremony uses 54 first contributions from the [Perpetual Powers of Tau ceremony](https://github.com/privacy-scaling-explorations/perpetualpowersoftau)\n and adds one more contribution to the total of 55 participants.\n\n - Ceremony used: [https://github.com/privacy-scaling-explorations/perpetualpowersoftau?tab=readme-ov-file](https://github.com/privacy-scaling-explorations/perpetualpowersoftau?tab=readme-ov-file)\n - Public announcement: [https://medium.com/coinmonks/announcing-the-perpetual-powers-of-tau-ceremony-to-benefit-all-zk-snark-projects-c3da86af8377](https://medium.com/coinmonks/announcing-the-perpetual-powers-of-tau-ceremony-to-benefit-all-zk-snark-projects-c3da86af8377)\n - Final data and verification steps in this repo: [https://github.com/iden3/snarkjs/tree/master?tab=readme-ov-file](https://github.com/iden3/snarkjs/tree/master?tab=readme-ov-file)\n "
}
],
"verifierHashes": [
{
"hash": "0x28ddf3744fb9b64bc428bee318e026bee0cf210e23ff5932f645e32aa916c28f",
"proofSystem": {
"id": "Snarkjs",
"type": "Fflonk",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Fflonk improvement over standard Plonk proving system written in JS."
},
"name": "zkProver Fflonk verifier Wirex",
"knownDeployments": [
{
"address": "eth:0x0775e11309d75aA6b0967917fB0213C5673eDf81"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the following values from the verifier smart contract, abi packed in the same order they are defined: verification key data, omegas, verifier preprocessed inputs (all values from k1 to X2y2)."
},
{
"hash": "0x237bc5d6efad6d844534c4a45f5f19fa86344615ac00054821915c219e9abd81",
"name": "zkProver Fflonk v8.0.0-fork.12",
"sourceLink": "https://github.com/0xPolygon/zkevm-proverjs/tree/v8.0.0-fork.12",
"proofSystem": {
"id": "Snarkjs",
"type": "Fflonk",
"name": "Snarkjs",
"description": "Circom / iden3 implementation of Fflonk improvement over standard Plonk proving system written in JS."
},
"knownDeployments": [
{
"address": "0x9B9671dB83CfcB4508bF361942488C5cA2b1286D",
"chain": "ethereum"
"address": "eth:0x9B9671dB83CfcB4508bF361942488C5cA2b1286D"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe verification steps are based on [this guide](https://github.com/agglayer/agglayer-contracts/blob/b9a795523317eca29319f3dca56f7199a117fb78/verifyMainnetDeployment/verifyMainnetProofVerifier.md).\n\n1. Get a machine with at least 512GB of RAM and 32 cores (e.g. r6a.16xlarge aws instance). This guide assumes Ubuntu 22.04 LTS OS.\n\n2. Do basic OS preparation\n\n```jsx\nsudo apt update\nsudo apt install -y tmux git curl jq\nsudo apt install -y build-essential libomp-dev libgmp-dev nlohmann-json3-dev libpqxx-dev nasm libgrpc++-dev libprotobuf-dev grpc-proto libsodium-dev uuid-dev libsecp256k1-dev\n```\n\n3. Tweak the OS to accept high amount of memory\n\n```jsx\necho \"vm.max_map_count=655300\" | sudo tee -a /etc/sysctl.conf\nsudo sysctl -w vm.max_map_count=655300\nexport NODE_OPTIONS=\"--max-old-space-size=230000\"\n```\n\n4. Install node, npm, python deps\n\n```jsx\ncurl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh\nsudo bash nodesource_setup.sh\nsudo apt install -y nodejs\nnode -v\napt install python3-pip\npip install z3-solver==4.13.0.0\n```\n\nThe version of node should be: 18 (e.g. 18.19.0 ) Note that hardhat will complain that this node version is not supported byt hardhat. It seems to be just a warning and `v24.8.0` produces the same contract bytecode, so maybe it can be ignored.\n\n5. Download and prepare circom\n\n```jsx\ncd ~\ngit clone https://github.com/iden3/circom.git\ncd circom\ngit checkout v2.1.8\ngit log --pretty=format:'%H' -n 1\n```\n\nThe hash of the commit should be: f0deda416abe91e5dd906c55507c737cd9986ab5.\n\n```jsx\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\ncd ~\ncd circom\ncargo build --release\ncargo install --path circom\nexport PATH=$PATH:~/.cargo/bin\necho 'PATH=$PATH:~/.cargo/bin' >> ~/.profile\ncircom --version\n```\n\nThe version of circom should be: 2.1.8.\n\n6. Prepare fast build constant tree tool and fflonk setup\n\n```jsx\ncd ~\ngit clone https://github.com/0xPolygonHermez/zkevm-prover.git\ncd zkevm-prover\ngit checkout v8.0.0-RC9\ngit submodule init\ngit submodule update\nsed -i -E 's|^(SRCS_BCT := .*./src/starkpil/stark_info\\.\\*)|\\1 ./tools/sm/sha256/sha256.cpp ./tools/sm/sha256/bcon/bcon_sha256.cpp|' Makefile\nmake -j bctree fflonk_setup\n```\n\n7. Prepare and launch setup (zkevm-proverjs). This step is quite long, it takes approximately 4.5 hours.\n\n```jsx\ncd ~\ngit clone https://github.com/0xPolygonHermez/zkevm-proverjs.git\ncd zkevm-proverjs\ngit checkout v8.0.0-fork.12\nrm -f package-lock.json\nsed -i -E 's|https://hermez\\.s3-eu-west-1\\.amazonaws\\.com/powersOfTau28_hez_final\\.ptau|https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final.ptau|g' package.json\nnpm install\ntmux -c \"npm run buildsetup --bctree=../zkevm-prover/build/bctree --fflonksetup=../zkevm-prover/build/fflonkSetup --mode=25\"\n```\n\nThe last step generates the `zkevm-proverjs_build_proof_build_final.fflonk.verifier.sol` file which contains the verification keys that can be checked against the onchain deployment.\n ",
"description": "Custom verifier ID: SHA256 hash of the following values from the verifier smart contract, abi packed in the same order they are defined: verification key data, omegas, verifier preprocessed inputs (all values from k1 to X2y2)."
}
]
}
+3 -0
+3 -0
{
"addresses": {
"ethereum": [
{
"name": "ZkSync",
"isVerified": true,
"address": "eth:0xaBEA9132b05A70803a4E85094fD0e1800777fBEF",
"upgradeability": {
"proxyType": "zkSync Lite proxy",
"admins": [
"eth:0x38A43F4330f24fe920F943409709fc9A6084C939"
],
"implementations": [
"eth:0x8e972b354E6933275513C355Ee14D44A832aD2d9",
"eth:0x2eaa1377e0fC95dE998B9fA7611E9D67ebA534fD"
]
},
"chain": "ethereum",
"description": "The main Rollup contract. Allows the operator to commit blocks, provide ZK proofs (validated by the Verifier) and processes withdrawals by executing blocks. Users can deposit ETH and ERC20 tokens. This contract also defines the upgrade process for all the other contracts by enforcing an upgrade delay and employing the Security Council which can shorten upgrade times.",
"upgradableBy": [
{
"name": "ZkSync Multisig",
"delay": "21d or 0 if overridden by 9 of 15 Security Council"
}
],
"upgradeConsiderations": "When the upgrade process starts only the address of the new implementation is given. The actual upgrade also requires implementation specific calldata which is only provided after the delay has elapsed. Changing the default upgrade delay or the Security Council requires a ZkSync contract upgrade.",
"url": "https://etherscan.io/address/0xaBEA9132b05A70803a4E85094fD0e1800777fBEF#code"
},
{
"name": "Verifier",
"isVerified": true,
"address": "eth:0x5290E9582B4FB706EaDf87BB1c129e897e04d06D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38A43F4330f24fe920F943409709fc9A6084C939"
],
"implementations": [
"eth:0x57B09100e6160503aBDEBC76012b6c358eA4e462"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Implements ZK proof verification logic.",
"upgradableBy": [
{
"name": "ZkSync Multisig",
"delay": "21d or 0 if overridden by 9 of 15 Security Council"
}
],
"upgradeConsiderations": "When the upgrade process starts only the address of the new implementation is given. The actual upgrade also requires implementation specific calldata which is only provided after the delay has elapsed. Changing the default upgrade delay or the Security Council requires a ZkSync contract upgrade.",
"url": "https://etherscan.io/address/0x5290E9582B4FB706EaDf87BB1c129e897e04d06D#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "eth:0x34460C0EB5074C29A9F6FE13b8e7E23A0D08aF01",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x38A43F4330f24fe920F943409709fc9A6084C939"
],
"implementations": [
"eth:0x3FBc7C6c2437dE24F91b2Ca61Fc7AD3D2D62F4c8"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Keeps a list of block producers, NFT factories and whitelisted tokens.",
"upgradableBy": [
{
"name": "ZkSync Multisig",
"delay": "21d or 0 if overridden by 9 of 15 Security Council"
}
],
"upgradeConsiderations": "When the upgrade process starts only the address of the new implementation is given. The actual upgrade also requires implementation specific calldata which is only provided after the delay has elapsed. Changing the default upgrade delay or the Security Council requires a ZkSync contract upgrade.",
"url": "https://etherscan.io/address/0x34460C0EB5074C29A9F6FE13b8e7E23A0D08aF01#code"
},
{
"name": "UpgradeGatekeeper",
"isVerified": true,
"address": "eth:0x38A43F4330f24fe920F943409709fc9A6084C939",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This is the contract that owns Governance, Verifier and ZkSync and facilitates their upgrades. The upgrade constraints are defined by the ZkSync contract.",
"url": "https://etherscan.io/address/0x38A43F4330f24fe920F943409709fc9A6084C939#code"
},
{
"name": "TokenGovernance",
"isVerified": true,
"address": "eth:0x35cc31f63deef017c38d51B038891bAE7d614e86",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Governance.sol#L93 - Etherscan source code",
"url": "https://etherscan.io/address/0x3FBc7C6c2437dE24F91b2Ca61Fc7AD3D2D62F4c8#code#F1#L93"
}
],
"description": "Allows anyone to add new ERC20 tokens to ZKsync Lite given sufficient payment.",
"upgradableBy": [
{
"name": "ZkSync Multisig",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x35cc31f63deef017c38d51B038891bAE7d614e86#code"
},
{
"name": "NftFactory",
"isVerified": true,
"address": "eth:0x7C770595a2Be9A87CF49B35eA9bC534f1a59552D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Governance.sol#L205 - Etherscan source code",
"url": "https://etherscan.io/address/0x3FBc7C6c2437dE24F91b2Ca61Fc7AD3D2D62F4c8#code#F1#L"
}
],
"description": "Allows for withdrawing NFTs minted on L2 to L1.",
"upgradableBy": [
{
"name": "ZkSync Multisig",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7C770595a2Be9A87CF49B35eA9bC534f1a59552D#code"
}
]
},
"escrows": [
{
"address": "0xaBEA9132b05A70803a4E85094fD0e1800777fBEF",
"sinceTimestamp": 1592218707,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xaBEA9132b05A70803a4E85094fD0e1800777fBEF",
"upgradeability": {
"proxyType": "zkSync Lite proxy",
"admins": [
"eth:0x38A43F4330f24fe920F943409709fc9A6084C939"
],
"implementations": [
"eth:0x8e972b354E6933275513C355Ee14D44A832aD2d9",
"eth:0x2eaa1377e0fC95dE998B9fA7611E9D67ebA534fD"
]
},
"chain": "ethereum",
"url": "https://etherscan.io/address/0xaBEA9132b05A70803a4E85094fD0e1800777fBEF#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"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:0x57B09100e6160503aBDEBC76012b6c358eA4e462"
]
}
+4 -0
+4 -0
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x32400084C286CF3E17e7B677ea9583e60a000324",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1676315375,
"transactionHash": "0xba8357ad4ef5c48e120daf7c1569d90a803975958df777a4d8132dba6e8ef196",
"implementations": [
"eth:0xC48d496459e1358D055a79173BEA41efb7449028",
"eth:0xc30af84A6aFF43D5fd06FEdA6bA20BdfeD539F6C",
"eth:0x2EA0CFB9C942058ee5A84411EF2E37C6DE5bfe5c",
"eth:0x98E900Eb2e5fdE9786f736e86d6BFBfDb3E4683b",
"eth:0xa7E8a8F71c3cC43946601CC99997f8Cd6828a9B9"
]
},
{
"timestamp": 1679594519,
"transactionHash": "0x33a58f3097f84d41ae7f3bd280af6db28d04cd28af362faab164404b463e2791",
"implementations": [
"eth:0xC48d496459e1358D055a79173BEA41efb7449028",
"eth:0xc30af84A6aFF43D5fd06FEdA6bA20BdfeD539F6C",
"eth:0x2EA0CFB9C942058ee5A84411EF2E37C6DE5bfe5c",
"eth:0x98E900Eb2e5fdE9786f736e86d6BFBfDb3E4683b",
"eth:0xa7E8a8F71c3cC43946601CC99997f8Cd6828a9B9"
]
},
{
"timestamp": 1679594519,
"transactionHash": "0x33a58f3097f84d41ae7f3bd280af6db28d04cd28af362faab164404b463e2791",
"implementations": [
"eth:0xC48d496459e1358D055a79173BEA41efb7449028",
"eth:0xc30af84A6aFF43D5fd06FEdA6bA20BdfeD539F6C",
"eth:0x2EA0CFB9C942058ee5A84411EF2E37C6DE5bfe5c",
"eth:0x98E900Eb2e5fdE9786f736e86d6BFBfDb3E4683b",
"eth:0xa7E8a8F71c3cC43946601CC99997f8Cd6828a9B9"
]
},
{
"timestamp": 1679598935,
"transactionHash": "0x07c949f4a829a991f30998c6e89fdd8629fba240aedd59d55896c5c0999b6da4",
"implementations": [
"eth:0xF1fB730b7f8E8391B27B91f8f791e10E4a53CEcc",
"eth:0x6df4A6D71622860dcc64C1FD9645d9a5BE96f088",
"eth:0x2a2d6010202B93E727b61a60dfC1d5CF2707c1CE",
"eth:0xc796A402E1B26eCd2cd38F23e05A2f904504ec89",
"eth:0x389a081BCf20e5803288183b929F08458F1d863D"
]
},
{
"timestamp": 1682366591,
"transactionHash": "0xe246fdfa41030d23e91e4378db8697727da3c321a426a93a0861066cfb875875",
"implementations": [
"eth:0xF1fB730b7f8E8391B27B91f8f791e10E4a53CEcc",
"eth:0x6df4A6D71622860dcc64C1FD9645d9a5BE96f088",
"eth:0x2a2d6010202B93E727b61a60dfC1d5CF2707c1CE",
"eth:0x389a081BCf20e5803288183b929F08458F1d863D",
"eth:0xb2097DBe4410B538a45574B1FCD767E2303c7867"
]
},
{
"timestamp": 1692180911,
"transactionHash": "0x83d729e260c7ac2cf439aa2b8e667454489e4fb8d4965aaa9dc8e2fb95a44f46",
"implementations": [
"eth:0x9B1A10bDC4A40219544C835263b2cA3f3e689693",
"eth:0xA389bF185B301C8e20E79E3098e71399914035dF",
"eth:0xf002dFBc52C250a2E14C148041aDB8567a0B19BD",
"eth:0xab458aCbD8FF9B6cF7B8a029705A02F70DCDBf7D",
"eth:0x8c0f38F13526fCB379a80B87F4DEbdBCC9CAEcbD"
]
},
{
"timestamp": 1693297691,
"transactionHash": "0x8cdc268e23c0fa073ab3f1b75bd32a2cf05ea1e268a07c1aec44d5805f22fb12",
"implementations": [
"eth:0xc6f7e57C6e1e20468D869Fe33675524e243CD6a0",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x5349E94435Cc9Cab9FfB40A492DA46935052733A",
"eth:0x16615a85B451edfb6FCBea0b34405D9C7ca1a22A",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1694083991,
"transactionHash": "0x72983cd25802230545bcb38b805638b0ffa17990ad51e8843e55519fe96d702c",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1695403367,
"transactionHash": "0x5e3ce9e7d3920f293487a5581146f8333191a4068762db6fe4d1eec65a3fb805",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1697818535,
"transactionHash": "0x0de4556791139b205562b388f2ddc4a2d2ec1bf0996feea38158535cd7e1a5c6",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1698856895,
"transactionHash": "0x4d3e09380ee604e75800fd61da0c1771987e1cbca7c5254e8c7479e3dd0e3b37",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1701721751,
"transactionHash": "0x9f0e9ecd78b5c17ff95c130b183df452486a0f784705927e608fd90a00aa9bcd",
"implementations": [
"eth:0x409560DE546e057ce5bD5dB487EdF2bB5E785baB",
"eth:0xF3ACF6a03ea4a914B78Ec788624B25ceC37c14A4",
"eth:0x63b5EC36B09384fFA7106A80Ec7cfdFCa521fD08",
"eth:0x9e3Fa34a10619fEDd7aE40A3fb86FA515fcfd269"
]
},
{
"timestamp": 1703159495,
"transactionHash": "0x2200e7109d3abbb74cb03144fea37f7227188e1fcaba4538bd9dfa3fa17cca02",
"implementations": [
"eth:0xAeA49FCEbe3A93ADaE67FF668C0ac87799537967",
"eth:0x5edb1756c0A0F933EB87f9d69DfA1db3167547a7",
"eth:0x2FbF76bAE617cE41AdB9021907F02e2bF187BB58",
"eth:0xc40e5BE1a6D18DdB14268D32dc6075FCf72fF16d"
]
},
{
"timestamp": 1707143447,
"transactionHash": "0x937dd21a05142c02159170dafb1bbaaa145ae7bd2c29bf512534fbec9ff801ab",
"implementations": [
"eth:0xE6426c725cB507168369c10284390E59d91eC821",
"eth:0xc4a5e861df9DD9495f8Dba1c260913d1A9b8Ec2B",
"eth:0x0f58Fd6c9Ed966e09C1dFFBc8E6FF600ec65f6eB",
"eth:0x3a4ef67C6cAb51444E5d3861843F7f4a37F64F0a"
]
},
{
"timestamp": 1710167531,
"transactionHash": "0xa5fd3584a815267a84a5686b386d911ed7e53d6c1863ff64a57ef0f7085bd4d7",
"implementations": [
"eth:0x230214F0224C7E0485f348a79512ad00514DB1F7",
"eth:0x10113bB3a8e64f8eD67003126adC8CE74C34610c",
"eth:0xA57F9FFD65fC0F5792B5e958dF42399a114EC7e7",
"eth:0xfd3779e6214eBBd40f5F5890351298e123A46BA6"
]
},
{
"timestamp": 1710285383,
"transactionHash": "0xc78a986be023f367f121c06fa9662ef950ad76f2cfe9397693f63de6c5959c61",
"implementations": [
"eth:0x230214F0224C7E0485f348a79512ad00514DB1F7",
"eth:0x10113bB3a8e64f8eD67003126adC8CE74C34610c",
"eth:0xA57F9FFD65fC0F5792B5e958dF42399a114EC7e7",
"eth:0xfd3779e6214eBBd40f5F5890351298e123A46BA6"
]
},
{
"timestamp": 1717674923,
"transactionHash": "0x71a3b924989f551cbf3024fcd6b52aeb9a52902d95c0efb690e7340d667b6e21",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1722937847,
"transactionHash": "0x2060aa785aeefa91a0b103accc9df689c7a2056aacfa70309492e729ddea4565",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1736520959,
"transactionHash": "0x4f45a603cfe9fb680e13fc3ecb48aed0ba73e198e7be5f53e39f016384d262b0",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1741791551,
"transactionHash": "0x2c6aa40efd0500a015b036cf03de961b6e2aa2c726d21b5b8cede9a91964c12f",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1746446579,
"transactionHash": "0xf20c9ac3a8c84e97d8403833810d9c2d38f29bb18f592b983e69e14da66b1d12",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1750722695,
"transactionHash": "0x57b72110d70a2c2f9b7762a0069d3c61d6b58888a4ac6bec35adde7d3f664a57",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1754091731,
"transactionHash": "0x4408299240ea4bef17153116dbd0ab1fbd58dbe9a4b9fb177b7664a71e9c70f1",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1761146555,
"transactionHash": "0xcdb33c10c6fcef0fe1597e4c87403763e4378af8822c05ed303cd590bdbd72b9",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1769183903,
"transactionHash": "0xbeeccb50304cf1e2e0b3dc39e57f8f30ea7e0c9da7a774c9b984245e11d990eb",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1770391415,
"transactionHash": "0x96d827f588ce0b3868ebdf99ca1099d1128a8112ddbb140416d9ffdcfd72e9af",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions. isPermanentRollup was set to true in this contract which prevents changing the DA mode to Validium in the future.\n* Roles:\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x32400084C286CF3E17e7B677ea9583e60a000324#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1ERC20Bridge",
"isVerified": true,
"address": "eth:0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x6ed98623e0B51be68748aB5091Aa891Adb883e13"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1676370683,
"transactionHash": "0xbeb9be61e12ebe1e8abcaa0ddd3149cc0282a60af9b11ee2cae50fbcd0adb96e",
"implementations": [
"eth:0x22bE40122BA952b81c50bcaa86F84418ff623391"
]
},
{
"timestamp": 1679600999,
"transactionHash": "0x5fc563e76bc3421166b3898389b72d6a93ac04d94741fc884290d2120ce8cfd0",
"implementations": [
"eth:0x7e5E66B01fe43293545eaB98ec4D31784A5Efa84"
]
},
{
"timestamp": 1682426255,
"transactionHash": "0xa462b66e80e973da1eaea5a5bde5a1b4ff6a1a3b29ac4db25922712e71900e80",
"implementations": [
"eth:0x38ABF296EE79621A225AA85086853b0dA3225D2F"
]
},
{
"timestamp": 1692181295,
"transactionHash": "0x351e42a19944da59b77c2fdd0d5adb58fd0af1cc960e14af3cfae0d686fda478",
"implementations": [
"eth:0x7FB17101A744e156e63d5fF6A4775fb48756577c"
]
},
{
"timestamp": 1701721751,
"transactionHash": "0x9f0e9ecd78b5c17ff95c130b183df452486a0f784705927e608fd90a00aa9bcd",
"implementations": [
"eth:0x03F3F3c12e11C2FAA60080bd3F7f80AADF369a33"
]
},
{
"timestamp": 1703242679,
"transactionHash": "0xd340a9274753c7f5edd33bc034c08df9e050821d399059c2f6bf0686dd341a87",
"implementations": [
"eth:0x79Cc1DF74Ac2d1B0876498C9FcE32c7e34F57B43"
]
},
{
"timestamp": 1707388607,
"transactionHash": "0x7a9c713189afcfbb07826da5078905f2543da22468f98507e51eac632dc784ce",
"implementations": [
"eth:0x810c6598CAaA08B61f6430Df5a8e120B3390d78A"
]
},
{
"timestamp": 1717680035,
"transactionHash": "0xb689a0cfff9af4bb1d1da94c404d396f24d5cf5031c31647671549c717cdba7a",
"implementations": [
"eth:0x8191975d8B0851C7f0740918896Cf298c09aA05E"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x8D231E4097C3cb200Ed62134B466AA615cE60336"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x2Dd3329A2Ae9de60Da02828A34f0cB6d6aff9142"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x6ed98623e0B51be68748aB5091Aa891Adb883e13"
]
}
],
"description": "Legacy bridge for depositing ERC20 tokens to ZKsync Era. Forwards deposits and withdrawals to the BridgeHub.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063#code"
},
{
"name": "L1ERC20Bridge_wstETH",
"isVerified": true,
"address": "eth:0x41527B2d03844dB6b0945f25702cB958b6d55989",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x9a810469F4a451Ebb7ef53672142053b4971587c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1698065351,
"transactionHash": "0x51c6da607599f4f5f12d9fce001ede3fb1b94c9e2bd37fb48e081898fabf0020",
"implementations": [
"eth:0x9a810469F4a451Ebb7ef53672142053b4971587c"
]
}
],
"description": "Bridge for depositing wrapped stETH (Lido) to ZKsync Era. These deposits and withdrawals do not go through the shared Bridge.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41527B2d03844dB6b0945f25702cB958b6d55989#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x7f33D100f482093182111d69a4a457289e99f4ec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7f33D100f482093182111d69a4a457289e99f4ec#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to ZKsync Era and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x11f943b2c77b743AB90f4A0Ae7d5A4e7FCA3E102",
"l2EtherAddress": "0x000000000000000000000000000000000000800A"
},
"chainId": 1
},
{
"address": "0x41527B2d03844dB6b0945f25702cB958b6d55989",
"sinceTimestamp": 1698058151,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x41527B2d03844dB6b0945f25702cB958b6d55989",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x9a810469F4a451Ebb7ef53672142053b4971587c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1698065351,
"transactionHash": "0x51c6da607599f4f5f12d9fce001ede3fb1b94c9e2bd37fb48e081898fabf0020",
"implementations": [
"eth:0x9a810469F4a451Ebb7ef53672142053b4971587c"
]
}
],
"description": "Bridge for depositing wrapped stETH (Lido) to ZKsync Era. These deposits and withdrawals do not go through the new shared BridgeHub.",
"upgradableBy": [
{
"name": "Lido (Lido Agent)",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x41527B2d03844dB6b0945f25702cB958b6d55989#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x32400084C286CF3E17e7B677ea9583e60a000324",
"sinceTimestamp": 1676268575,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x32400084C286CF3E17e7B677ea9583e60a000324",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1676315375,
"transactionHash": "0xba8357ad4ef5c48e120daf7c1569d90a803975958df777a4d8132dba6e8ef196",
"implementations": [
"eth:0xC48d496459e1358D055a79173BEA41efb7449028",
"eth:0xc30af84A6aFF43D5fd06FEdA6bA20BdfeD539F6C",
"eth:0x2EA0CFB9C942058ee5A84411EF2E37C6DE5bfe5c",
"eth:0x98E900Eb2e5fdE9786f736e86d6BFBfDb3E4683b",
"eth:0xa7E8a8F71c3cC43946601CC99997f8Cd6828a9B9"
]
},
{
"timestamp": 1679594519,
"transactionHash": "0x33a58f3097f84d41ae7f3bd280af6db28d04cd28af362faab164404b463e2791",
"implementations": [
"eth:0xC48d496459e1358D055a79173BEA41efb7449028",
"eth:0xc30af84A6aFF43D5fd06FEdA6bA20BdfeD539F6C",
"eth:0x2EA0CFB9C942058ee5A84411EF2E37C6DE5bfe5c",
"eth:0x98E900Eb2e5fdE9786f736e86d6BFBfDb3E4683b",
"eth:0xa7E8a8F71c3cC43946601CC99997f8Cd6828a9B9"
]
},
{
"timestamp": 1679594519,
"transactionHash": "0x33a58f3097f84d41ae7f3bd280af6db28d04cd28af362faab164404b463e2791",
"implementations": [
"eth:0xC48d496459e1358D055a79173BEA41efb7449028",
"eth:0xc30af84A6aFF43D5fd06FEdA6bA20BdfeD539F6C",
"eth:0x2EA0CFB9C942058ee5A84411EF2E37C6DE5bfe5c",
"eth:0x98E900Eb2e5fdE9786f736e86d6BFBfDb3E4683b",
"eth:0xa7E8a8F71c3cC43946601CC99997f8Cd6828a9B9"
]
},
{
"timestamp": 1679598935,
"transactionHash": "0x07c949f4a829a991f30998c6e89fdd8629fba240aedd59d55896c5c0999b6da4",
"implementations": [
"eth:0xF1fB730b7f8E8391B27B91f8f791e10E4a53CEcc",
"eth:0x6df4A6D71622860dcc64C1FD9645d9a5BE96f088",
"eth:0x2a2d6010202B93E727b61a60dfC1d5CF2707c1CE",
"eth:0xc796A402E1B26eCd2cd38F23e05A2f904504ec89",
"eth:0x389a081BCf20e5803288183b929F08458F1d863D"
]
},
{
"timestamp": 1682366591,
"transactionHash": "0xe246fdfa41030d23e91e4378db8697727da3c321a426a93a0861066cfb875875",
"implementations": [
"eth:0xF1fB730b7f8E8391B27B91f8f791e10E4a53CEcc",
"eth:0x6df4A6D71622860dcc64C1FD9645d9a5BE96f088",
"eth:0x2a2d6010202B93E727b61a60dfC1d5CF2707c1CE",
"eth:0x389a081BCf20e5803288183b929F08458F1d863D",
"eth:0xb2097DBe4410B538a45574B1FCD767E2303c7867"
]
},
{
"timestamp": 1692180911,
"transactionHash": "0x83d729e260c7ac2cf439aa2b8e667454489e4fb8d4965aaa9dc8e2fb95a44f46",
"implementations": [
"eth:0x9B1A10bDC4A40219544C835263b2cA3f3e689693",
"eth:0xA389bF185B301C8e20E79E3098e71399914035dF",
"eth:0xf002dFBc52C250a2E14C148041aDB8567a0B19BD",
"eth:0xab458aCbD8FF9B6cF7B8a029705A02F70DCDBf7D",
"eth:0x8c0f38F13526fCB379a80B87F4DEbdBCC9CAEcbD"
]
},
{
"timestamp": 1693297691,
"transactionHash": "0x8cdc268e23c0fa073ab3f1b75bd32a2cf05ea1e268a07c1aec44d5805f22fb12",
"implementations": [
"eth:0xc6f7e57C6e1e20468D869Fe33675524e243CD6a0",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x5349E94435Cc9Cab9FfB40A492DA46935052733A",
"eth:0x16615a85B451edfb6FCBea0b34405D9C7ca1a22A",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1694083991,
"transactionHash": "0x72983cd25802230545bcb38b805638b0ffa17990ad51e8843e55519fe96d702c",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1695403367,
"transactionHash": "0x5e3ce9e7d3920f293487a5581146f8333191a4068762db6fe4d1eec65a3fb805",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1697818535,
"transactionHash": "0x0de4556791139b205562b388f2ddc4a2d2ec1bf0996feea38158535cd7e1a5c6",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1698856895,
"transactionHash": "0x4d3e09380ee604e75800fd61da0c1771987e1cbca7c5254e8c7479e3dd0e3b37",
"implementations": [
"eth:0xdC7c3D03845EfE2c4a9E758A70a68BA6bba9FaC4",
"eth:0x7444DE636699F080cA1C033528D2bB3705B391Ce",
"eth:0x62aA95ac4740A367746A664C4C69034d52E968EF",
"eth:0x7Ed066718Dfb1b2B04D94780Eca92b67ECF3330b",
"eth:0x2E64926BE35412f7710A3E097Ba076740bF97CC0"
]
},
{
"timestamp": 1701721751,
"transactionHash": "0x9f0e9ecd78b5c17ff95c130b183df452486a0f784705927e608fd90a00aa9bcd",
"implementations": [
"eth:0x409560DE546e057ce5bD5dB487EdF2bB5E785baB",
"eth:0xF3ACF6a03ea4a914B78Ec788624B25ceC37c14A4",
"eth:0x63b5EC36B09384fFA7106A80Ec7cfdFCa521fD08",
"eth:0x9e3Fa34a10619fEDd7aE40A3fb86FA515fcfd269"
]
},
{
"timestamp": 1703159495,
"transactionHash": "0x2200e7109d3abbb74cb03144fea37f7227188e1fcaba4538bd9dfa3fa17cca02",
"implementations": [
"eth:0xAeA49FCEbe3A93ADaE67FF668C0ac87799537967",
"eth:0x5edb1756c0A0F933EB87f9d69DfA1db3167547a7",
"eth:0x2FbF76bAE617cE41AdB9021907F02e2bF187BB58",
"eth:0xc40e5BE1a6D18DdB14268D32dc6075FCf72fF16d"
]
},
{
"timestamp": 1707143447,
"transactionHash": "0x937dd21a05142c02159170dafb1bbaaa145ae7bd2c29bf512534fbec9ff801ab",
"implementations": [
"eth:0xE6426c725cB507168369c10284390E59d91eC821",
"eth:0xc4a5e861df9DD9495f8Dba1c260913d1A9b8Ec2B",
"eth:0x0f58Fd6c9Ed966e09C1dFFBc8E6FF600ec65f6eB",
"eth:0x3a4ef67C6cAb51444E5d3861843F7f4a37F64F0a"
]
},
{
"timestamp": 1710167531,
"transactionHash": "0xa5fd3584a815267a84a5686b386d911ed7e53d6c1863ff64a57ef0f7085bd4d7",
"implementations": [
"eth:0x230214F0224C7E0485f348a79512ad00514DB1F7",
"eth:0x10113bB3a8e64f8eD67003126adC8CE74C34610c",
"eth:0xA57F9FFD65fC0F5792B5e958dF42399a114EC7e7",
"eth:0xfd3779e6214eBBd40f5F5890351298e123A46BA6"
]
},
{
"timestamp": 1710285383,
"transactionHash": "0xc78a986be023f367f121c06fa9662ef950ad76f2cfe9397693f63de6c5959c61",
"implementations": [
"eth:0x230214F0224C7E0485f348a79512ad00514DB1F7",
"eth:0x10113bB3a8e64f8eD67003126adC8CE74C34610c",
"eth:0xA57F9FFD65fC0F5792B5e958dF42399a114EC7e7",
"eth:0xfd3779e6214eBBd40f5F5890351298e123A46BA6"
]
},
{
"timestamp": 1717674923,
"transactionHash": "0x71a3b924989f551cbf3024fcd6b52aeb9a52902d95c0efb690e7340d667b6e21",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1722937847,
"transactionHash": "0x2060aa785aeefa91a0b103accc9df689c7a2056aacfa70309492e729ddea4565",
"implementations": [
"eth:0xF6F26b416CE7AE5e5FE224Be332C7aE4e1f3450a",
"eth:0xE60E94fCCb18a81D501a38959E532C0A85A1be89",
"eth:0xCDB6228b616EEf8Df47D69A372C4f725C43e718C",
"eth:0xaD193aDe635576d8e9f7ada71Af2137b16c64075"
]
},
{
"timestamp": 1736520959,
"transactionHash": "0x4f45a603cfe9fb680e13fc3ecb48aed0ba73e198e7be5f53e39f016384d262b0",
"implementations": [
"eth:0x90C0A0a63d7ff47BfAA1e9F8fa554dabc986504a",
"eth:0x81754d2E48e3e553ba6Dfd193FC72B3A0c6076d9",
"eth:0x5575218cECd370E1d630d1AdB03c254B0B376821",
"eth:0xBB13642F795014E0EAC2b0d52ECD5162ECb66712"
]
},
{
"timestamp": 1741791551,
"transactionHash": "0x2c6aa40efd0500a015b036cf03de961b6e2aa2c726d21b5b8cede9a91964c12f",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1746446579,
"transactionHash": "0xf20c9ac3a8c84e97d8403833810d9c2d38f29bb18f592b983e69e14da66b1d12",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1750722695,
"transactionHash": "0x57b72110d70a2c2f9b7762a0069d3c61d6b58888a4ac6bec35adde7d3f664a57",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1754091731,
"transactionHash": "0x4408299240ea4bef17153116dbd0ab1fbd58dbe9a4b9fb177b7664a71e9c70f1",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1761146555,
"transactionHash": "0xcdb33c10c6fcef0fe1597e4c87403763e4378af8822c05ed303cd590bdbd72b9",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1769183903,
"transactionHash": "0xbeeccb50304cf1e2e0b3dc39e57f8f30ea7e0c9da7a774c9b984245e11d990eb",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1770391415,
"transactionHash": "0x96d827f588ce0b3868ebdf99ca1099d1128a8112ddbb140416d9ffdcfd72e9af",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "Main rollup contract of ZKsync Era.",
"url": "https://etherscan.io/address/0x32400084C286CF3E17e7B677ea9583e60a000324#code"
},
"chain": "ethereum",
"includeInTotal": true,
"isHistorical": true,
"untilTimestamp": 1717922458,
"chainId": 1
},
{
"address": "0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063",
"sinceTimestamp": 1676367083,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x6ed98623e0B51be68748aB5091Aa891Adb883e13"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1676370683,
"transactionHash": "0xbeb9be61e12ebe1e8abcaa0ddd3149cc0282a60af9b11ee2cae50fbcd0adb96e",
"implementations": [
"eth:0x22bE40122BA952b81c50bcaa86F84418ff623391"
]
},
{
"timestamp": 1679600999,
"transactionHash": "0x5fc563e76bc3421166b3898389b72d6a93ac04d94741fc884290d2120ce8cfd0",
"implementations": [
"eth:0x7e5E66B01fe43293545eaB98ec4D31784A5Efa84"
]
},
{
"timestamp": 1682426255,
"transactionHash": "0xa462b66e80e973da1eaea5a5bde5a1b4ff6a1a3b29ac4db25922712e71900e80",
"implementations": [
"eth:0x38ABF296EE79621A225AA85086853b0dA3225D2F"
]
},
{
"timestamp": 1692181295,
"transactionHash": "0x351e42a19944da59b77c2fdd0d5adb58fd0af1cc960e14af3cfae0d686fda478",
"implementations": [
"eth:0x7FB17101A744e156e63d5fF6A4775fb48756577c"
]
},
{
"timestamp": 1701721751,
"transactionHash": "0x9f0e9ecd78b5c17ff95c130b183df452486a0f784705927e608fd90a00aa9bcd",
"implementations": [
"eth:0x03F3F3c12e11C2FAA60080bd3F7f80AADF369a33"
]
},
{
"timestamp": 1703242679,
"transactionHash": "0xd340a9274753c7f5edd33bc034c08df9e050821d399059c2f6bf0686dd341a87",
"implementations": [
"eth:0x79Cc1DF74Ac2d1B0876498C9FcE32c7e34F57B43"
]
},
{
"timestamp": 1707388607,
"transactionHash": "0x7a9c713189afcfbb07826da5078905f2543da22468f98507e51eac632dc784ce",
"implementations": [
"eth:0x810c6598CAaA08B61f6430Df5a8e120B3390d78A"
]
},
{
"timestamp": 1717680035,
"transactionHash": "0xb689a0cfff9af4bb1d1da94c404d396f24d5cf5031c31647671549c717cdba7a",
"implementations": [
"eth:0x8191975d8B0851C7f0740918896Cf298c09aA05E"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x8D231E4097C3cb200Ed62134B466AA615cE60336"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x2Dd3329A2Ae9de60Da02828A34f0cB6d6aff9142"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x6ed98623e0B51be68748aB5091Aa891Adb883e13"
]
}
],
"description": "Legacy bridge for depositing ERC20 tokens to ZKsync Era. Forwards deposits and withdrawals to the BridgeHub.",
"url": "https://etherscan.io/address/0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"eth:0x7f33D100f482093182111d69a4a457289e99f4ec"
]
}
+3 -6
+3 -6
{
"creator": "Matter Labs",
"projectsForTvs": [
{
"projectId": "zksync",
"sinceTimestamp": 1592431200
},
{
"projectId": "zkspace",
"sinceTimestamp": 1639954800
}
],
"proofSystemInfo": "\n ## Proof system\n\n ZKSync Lite prover is a monolithic SNARK proving system that generates validity proofs for the state transition of ZKSync Lite L2. It is a [Plonk system](https://docs.lite.zksync.io/userdocs/security/#primitives) over BN254 curve with [custom circuits](https://github.com/matter-labs/zksync/tree/master/core/lib/circuit/src) designed to prove the specific state transition function of the L2, including deposits and withdrawals, transfers, swaps, NFT operations. The proof system itself is implemented in the [bellman library](https://github.com/matter-labs/bellman), while many base cryptographic primitives are implemented in [franklin library](https://github.com/matter-labs/franklin-crypto/tree/dev). \n ",
"techStack": {
"snark": [
{
"id": "Zksync",
"type": "Plonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Plonk proving system, originally developed for ZKsync Lite (old ZKsync)."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Zksync",
"type": "Plonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Plonk proving system, originally developed for ZKsync Lite (old ZKsync)."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0xfa15bba967ebf892d9657359fb8ff07aea13e152c0d5160143a494abb4bc9df3",
"name": "ZKsync Lite verifier 1",
"proofSystem": {
"id": "Zksync",
"type": "Plonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Plonk proving system, originally developed for ZKsync Lite (old ZKsync)."
},
"knownDeployments": [
{
"address": "0x57B09100e6160503aBDEBC76012b6c358eA4e462",
"chain": "ethereum"
"address": "eth:0x57B09100e6160503aBDEBC76012b6c358eA4e462"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed array of uint256 obtained from flattening VerificationKey structure returned by getVkAggregated1()"
},
{
"hash": "0xdfd9cbc5d113efddf3bfe382bcdd2cd67a9548fb62d758e9b18c8d8821ef1f22",
"name": "ZKsync Lite verifier 4",
"proofSystem": {
"id": "Zksync",
"type": "Plonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Plonk proving system, originally developed for ZKsync Lite (old ZKsync)."
},
"knownDeployments": [
{
"address": "0x57B09100e6160503aBDEBC76012b6c358eA4e462",
"chain": "ethereum"
"address": "eth:0x57B09100e6160503aBDEBC76012b6c358eA4e462"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed array of uint256 obtained from flattening VerificationKey structure returned by getVkAggregated4()"
},
{
"hash": "0xdfd12090ec7d5f3cc8c98dcad49e938e9e33f6807b70679c6bdfe61fdf9fd329",
"name": "ZKsync Lite verifier 8",
"proofSystem": {
"id": "Zksync",
"type": "Plonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Plonk proving system, originally developed for ZKsync Lite (old ZKsync)."
},
"knownDeployments": [
{
"address": "0x57B09100e6160503aBDEBC76012b6c358eA4e462",
"chain": "ethereum"
"address": "eth:0x57B09100e6160503aBDEBC76012b6c358eA4e462"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of the abi packed array of uint256 obtained from flattening VerificationKey structure returned by getVkAggregated8()"
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686694283,
"transactionHash": "0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03",
"implementations": [
"eth:0x43260ee547c3965bb2a0174763bb8FEcC650BA4A"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1a0ad011913A150f69f6A19DF447A0CfD9551054#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686694259,
"transactionHash": "0xf20999bd27f1d3effcc4cb9179f163441079744741a78ca04ea40bb505096f68",
"implementations": [
"eth:0x17fb7c8Ce213F1A7691ee41EA880ABf6eBC6fa95"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1737729695,
"transactionHash": "0x86da7386a26978c3db89e97c1f4feee613a8a0c07bbe4640624b05276f49c350",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **batcherHash**: EOA 2\n * **owner**: Zora Multisig 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA3cAB0126d5F504B071b81a3e8A2BBBF17930d86#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xB0F15106fa1e473Ddb39790f197275BC979Aa37e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1742398775,
"transactionHash": "0x88ce75c9fa2f1cbbde747194749d24347deb080d959e518167accee7462556df",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner\n * **challengerFromDGF**: OpFoundationOperationsSafe; ultimately SaferSafes\n * **proposerFromDGF**: EOA 1",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB0F15106fa1e473Ddb39790f197275BC979Aa37e#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1705954799,
"transactionHash": "0x8ba0e42b89cde22310b644ed30fd44e4a348619a165a54c908e7dc341e9bbd0c",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1718044163,
"transactionHash": "0xe361c0d4ae3aebc94b3f281ee372fbb1cbdb0c33ca8b1b35e7f3b009b2fcbdb0",
"implementations": [
"eth:0x53c165169401764778F780a69701385eb0FF19B7"
]
},
{
"timestamp": 1743612623,
"transactionHash": "0x5f3530e593bbac37c61dc5b7755b6a40c06c20c1a3a1b13fca5b7d00cde65c29",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1753379243,
"transactionHash": "0x46acdce174c8d83ebe2f208d8c76c867e75617483d64c3e407f69ae2f9868716",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1764092795,
"transactionHash": "0xf556934cb4de1ab40a4cfba17856cd601cbc8b875b96a9ccd8ee32bcd363abf5",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "Used to manage global configuration values for multiple OP Chains within a single Superchain network. The SuperchainConfig contract manages individual 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 3 months if left untouched.\n* Roles:\n * **admin**: SuperchainProxyAdmin; ultimately SuperchainProxyAdminOwner\n * **guardian**: Optimism Guardian Multisig; ultimately OpFoundationUpgradeSafe, Optimism EOA 1, Optimism Security Council, SaferSafes",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3e2Ea9B92B7E48A52296fD261dc26fd995284631",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3e2Ea9B92B7E48A52296fD261dc26fd995284631#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686694283,
"transactionHash": "0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03",
"implementations": [
"eth:0xDBCdA21518AF39E7feb9748F6718D3db11591461"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x83A4521A3573Ca87f3a971B169C5A0E1d34481c3#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xdC40a14d9abd6F410226f1E6de71aE03441ca506",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686694259,
"transactionHash": "0xf20999bd27f1d3effcc4cb9179f163441079744741a78ca04ea40bb505096f68",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1686694283,
"transactionHash": "0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03",
"implementations": [
"eth:0x363B4B1ADa52E50353f746999bd9E94395190d2C"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdC40a14d9abd6F410226f1E6de71aE03441ca506#code"
},
{
"name": "LivenessModule",
"isVerified": true,
"address": "eth:0x0454092516c9A4d636d3CAfA1e82161376C8a748",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "used to remove members inactive for 3mo 8d while making sure that the threshold remains above 75%. If the number of members falls below 8, the OpFoundationUpgradeSafe takes ownership of the multisig\n* Roles:\n * **fallbackOwner**: OpFoundationUpgradeSafe if the number of Optimism Security Council members falls below 8\n * **livenessGuard**: LivenessGuard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0454092516c9A4d636d3CAfA1e82161376C8a748#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": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x54027b388330415a34b2dBa9E6d25895649eEFf1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54027b388330415a34b2dBa9E6d25895649eEFf1#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x543bA4AADBAb8f9025686Bd03993043599c6fB04#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": "DeputyPauseModule",
"isVerified": true,
"address": "eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module.\n* Roles:\n * **deputy**: Optimism EOA 1 though restricted to the SuperchainConfig's `pause()` function",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x842ffD6EB189bccDbb817E1cee3286434eD7Ae6E#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686694283,
"transactionHash": "0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03",
"implementations": [
"eth:0x84ee4b9673598ca2FbDad4Ba4a27A58D6328Ec46"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"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 SuperchainProxyAdminOwner",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc52BC7344e24e39dF1bf026fe05C4e6E23CfBcFf#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49#code"
}
]
},
"escrows": [
{
"address": "0x1a0ad011913A150f69f6A19DF447A0CfD9551054",
"sinceTimestamp": 1686694031,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x1a0ad011913A150f69f6A19DF447A0CfD9551054",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686694283,
"transactionHash": "0x2d5cb61e2bcf7b90f813f128dd3ee41d8f0dc78bed2b49c2dcc61e95e7530d03",
"implementations": [
"eth:0x43260ee547c3965bb2a0174763bb8FEcC650BA4A"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1713561803,
"transactionHash": "0xfe942033eec0df235735ae8872759f690e4bee4c86ebb6dba7b9b9446410b5d1",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1745506331,
"transactionHash": "0x557cab0b43928b8382105655a8bef75c3bd925d8ff3ecd157b9cee57361fd0bd",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1760038943,
"transactionHash": "0x3c9df2c9f2502ed27df838f21bf474be0544246f8c0c3513a698d81e0c2890ae",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764100451,
"transactionHash": "0x2061f73a8062dbd181576eb95c13749cf82e3a401a013d152230766e9039cd0f",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770667859,
"transactionHash": "0x8808cd53114e4cf07bfde30daf24f2984d4a40ab09c5ca67bd171ac29d6dbf37",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x1a0ad011913A150f69f6A19DF447A0CfD9551054#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3e2Ea9B92B7E48A52296fD261dc26fd995284631",
"sinceTimestamp": 1686693995,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x3e2Ea9B92B7E48A52296fD261dc26fd995284631",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD4ef175B9e72cAEe9f1fe7660a6Ec19009903b49"
],
"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/0x3e2Ea9B92B7E48A52296fD261dc26fd995284631#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "\nSteps 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.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.\n ",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Both regular and emergency upgrades must be approved by both the Security Council and the Foundation. There is no delay on regular upgrades."
}
]
],
"zkVerifiers": []
}