4c8e41a2 (main)
and
86be2210 (PR)
+4 -7
+3 -6
{
"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**: Katana Foundation Engineering/Security Multisig\n * **aggchainSigners**: EOA 2 optimisticMode is enabled by the optimisticModeManager\n * **optimisticModeManager**: Katana Foundation Engineering/Security Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc"
]
},
"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"
]
}
],
"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 Katana Foundation Engineering/Security Multisig",
"upgradableBy": [
{
"name": "Katana Foundation Engineering/Security Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
"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"
]
}
],
"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 Katana Foundation Engineering/Security Multisig\n * **batcherHash**: EOA 1\n * **owner**: Katana Foundation Engineering/Security Multisig",
"upgradableBy": [
{
"name": "Katana Foundation Engineering/Security Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth:0x14Be6579A41342ca6B402ec85E7be538e6Ade951#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana Foundation Engineering/Security Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x7b465370BB7A333f99edd19599EB7Fb1c2D3F8D2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"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 Katana Foundation Engineering/Security Multisig",
"upgradableBy": [
{
"name": "Katana Foundation Engineering/Security Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x1AaA08d577cbC3da3b955DC1B7a281D7b8fE3372#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/eth: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/eth: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/eth: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/eth:0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x667b7DA73DA7B2A75286378FF45637eEaE9B4793",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger. In the context of this permissioned aggkit deployment, there are no state proposals made here and the op stack fault proof system is not used.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x667b7DA73DA7B2A75286378FF45637eEaE9B4793#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana Foundation Engineering/Security Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth: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/eth:0x8970650CF3f1E57cA804C65B4DBcFf698789FE30#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/eth:0xD1e389c046FB734D2a0c7C390312210c408ba832#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/eth:0xF027F4A985560fb13324e943edf55ad6F1d15Dc1#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/eth: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/eth: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/eth: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": "the contracts or their dependencies (e.g. AggLayerGateway) receive a malicious code upgrade. There is no delay on upgrades."
}
],
"zkProgramHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client.",
"proverSystemProject": "sp1",
"programUrl": "https://github.com/agglayer/op-succinct/tree/v3.1.0-agglayer/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 [agglayer/op-succinct](https://github.com/agglayer/op-succinct) repo: `git checkout v3.1.0-agglayer ` . Commit hash should be `9af9cecad2c7f6ee17c87e9bba616ef4d638c958 `.\n2. Make sure docker is running by running `docker ps `\n3. From the `op-succinct/programs/aggregation ` dir: `cargo prove build --elf-name aggregation-elf --docker --tag v5.1.0 --output-directory ../../elf ` to generate aggregation program elf from sources\n4. From op-succinct/elf dir: `cargo prove vkey --elf aggregation-elf ` to check the verification key of this elf.\n ",
"hash": "0x00afb45d8064ae10aa6a1793b8f39a24c27268efae2917b5c02950b2377fbf00"
"verificationStatus": "notVerified",
"hash": "0x007efdd073c9845bbc446e0e62018af999bde96ecec416725391efa4a3f0a44d"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks.",
"programUrl": "https://github.com/agglayer/op-succinct/tree/v3.1.0-agglayer/programs/range/ethereum",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x416d710344b6b6fa2a0b1a1445f3d6ba4fdd5ab43f0e863b1c522db20f28ad9b"
"hash": "0x4b8234c47685b3361b22399702416a8010783b1b701b279073b4f0831e55da63"
},
{
"title": "Aggchain program of agglayer",
"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.",
"programUrl": "https://github.com/agglayer/provers/tree/v1.1.3/crates/aggchain-proof-program",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x713f8a687452545141b6cd852472c67742a5c61474b97a136d0d107804affa1f"
},
{
"title": "Aggchain program of agglayer",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered multisig signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1",
"programUrl": "https://github.com/agglayer/provers/tree/v1.5.0/crates/aggchain-proof-program",
"verificationStatus": "notVerified",
"hash": "0x374ee73950cdb07d1b8779d90a8467df232639c13f9536b03f1ba76a2aa5dac6"
},
{
"title": "Aggchain program of agglayer",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered multisig signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1",
"programUrl": "https://github.com/agglayer/provers/tree/v1.8.0/crates/aggchain-proof-program",
"verificationStatus": "notVerified",
"hash": "0x6e38caa6114ac4b9779f647547de9e8f09e9f5cd6194e7134110760d3aa31b53"
},
{
"title": "Pessimistic program of agglayer",
"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": "sp1",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "notVerified",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer",
"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": "sp1",
"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"
}
]
}
+1 -1
{
"baseTimestamp": 1763987450,
"baseTimestamp": 1764059644,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+44 -12
+30 -0
[
{
"projectId": "paradex",
"sinceTimestamp": 1636978914,
"untilTimestamp": 1704729971,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"3258367057337572248818716706664617507069572185152472699066582725377748079373"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1704729971,
"untilTimestamp": 1706626427,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"54878256403880350656938046611252303365750679698042371543935159963667935317"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1706626427,
"untilTimestamp": 1710346919,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"2479841346739966073527450029179698923866252973805981504232089731754042431018"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1710346919,
"untilTimestamp": 1710764843,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"109586309220455887239200613090920758778188956576212125550190099009305121410"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1710764843,
"untilTimestamp": 1725811535,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"3383082961563516565935611087683915026448707331436034043529592588079494402084"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1725811535,
"untilTimestamp": 1744056299,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"853638403225561750106379562222782223909906501242604214771127703946595519856"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1725811535,
"untilTimestamp": 1744056299,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"1161178844461337253856226043908368523817098764221830529880464854589141231910"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1744056299,
"untilTimestamp": 1763997779,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"2534935718742676028234156221136000178296467523045214874259117268197132196876"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1744056299,
"untilTimestamp": 1763997779,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"273279642033703284306509103355536170486431195329675679055627933497997642494"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1763997779,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"793595346346724189681221050719974054861327641387231526786912662354259445535"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1763997779,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharpSubmission",
"address": "0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"selector": "0x9b3b76cc",
"programHashes": [
"760308386675154762009993173725077399730170358078020153308029499928875469870"
]
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1689850631,
"type": "liveness",
"subtype": "stateUpdates",
"params": {
"formula": "functionCall",
"address": "0xF338cad020D506e8e3d9B4854986E0EcE6C23640",
"selector": "0x77552641",
"signature": "function updateState(uint256[] programOutput, uint256 onchainDataHash, uint256 onchainDataSize)"
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1710346919,
"untilTimestamp": 1725811535,
"type": "liveness",
"subtype": "stateUpdates",
"params": {
"formula": "functionCall",
"address": "0xF338cad020D506e8e3d9B4854986E0EcE6C23640",
"selector": "0xb72d42a1",
"signature": "function updateStateKzgDA(uint256[] programOutput, bytes kzgProof)"
}
},
{
"projectId": "paradex",
"sinceTimestamp": 1725811667,
"type": "liveness",
"subtype": "stateUpdates",
"params": {
"formula": "functionCall",
"address": "0xF338cad020D506e8e3d9B4854986E0EcE6C23640",
"selector": "0x507ee528",
"signature": "function updateStateKzgDA(uint256[] programOutput, bytes[] kzgProofs)"
}
}
]
+13 -11
{
"addresses": {
"ethereum": [
{
"name": "Paradex",
"isVerified": true,
"address": "eth:0xF338cad020D506e8e3d9B4854986E0EcE6C23640",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93"
],
"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\n * **operators**: EOA 1",
"upgradableBy": [
{
"name": "Paradex Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xF338cad020D506e8e3d9B4854986E0EcE6C23640#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934",
"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/eth:0x13e120F6c8E747983F7aaF0f7731796bfcb0D934#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"
]
}
],
"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/eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "USDC Bridge",
"isVerified": true,
"address": "eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
],
"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"
]
}
],
"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 * **secAdmin**: Paradex Multisig 2\n * **secAgent**: Paradex Multisig 2",
"upgradableBy": [
{
"name": "Paradex Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#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/eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"sinceTimestamp": 1692341159,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "eth:0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0"
],
"implementations": [
"eth:0x8A4e51ff0F2a45899519e6049FB2D1F038Be1e77"
],
"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"
]
}
],
"description": "Paradex USDC Escrow. The current bridge cap is 175 M USDC.",
"upgradableBy": [
{
"name": "USDC Escrow owner",
"delay": "0s"
}
],
"url": "https://etherscan.io/address/0xE3cbE3A636AB6A754e9e41B12b09d09Ce9E53Db3#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
}
],
"zkProgramHashes": [
{
"title": "Paradex implementation of StarkNet OS",
"description": "Proves correct state transition for a range of consecutive Paradex transactions.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/starknet/core/os",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "2534935718742676028234156221136000178296467523045214874259117268197132196876"
"title": "StarkNet OS",
"proverSystemProject": "stwo",
"description": "Proves correct state transition for a range of consecutive Starknet transactions.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.14.0.1/src/starkware/starknet/core/os",
"verificationStatus": "successful",
"verificationSteps": "\nSteps: \n\n1. Install python and pip.\n2. Checkout the correct branch in [cairo-lang](https://github.com/starkware-libs/cairo-lang) repo: `git checkout tag: v0.14.0.1`. Commit hash should be `66355d7d99f1962ff9ccba8d0dbacbce3bd79bf8`.\n3. Install the correct version of Cairo-lang toolkit: `pip install cairo-lang==0.14.0.1`.\n4. From the root dir of the repo, compile the StarkNet OS sources into JSON using the installed cairo-compile: `cairo-compile src/starkware/starknet/core/os/os.cairo --cairo_path=src --output os_compiled.json`.\n5. From the same dir, call the installed cairo-hash-program to compute program hash of the compiled StarkNet OS JSON: `cairo-hash-program --program os_compiled.json`.\n6. Convert the hex output into dec, e.g. by running `python -c 'print(int(\"0x1c...\", 16))'` (you can replace `0x1c...` with your output of `cairo-hash-program`).\n ",
"hash": "793595346346724189681221050719974054861327641387231526786912662354259445535"
},
{
"title": "Aggregation program for SHARP prover",
"description": "Aggregates proofs of correct execution for several consecutive transaction ranges generated by StarkNet OS.",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/starknet/core/aggregator",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "273279642033703284306509103355536170486431195329675679055627933497997642494"
"description": "Cairo program that squashes the state diffs of several blocks",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.14.0.1/src/starkware/starknet/core/aggregator",
"proverSystemProject": "stwo",
"verificationStatus": "successful",
"verificationSteps": "\nSteps:\n\n1. Install python and pip.\n2. Checkout the correct branch in [cairo-lang](https://github.com/starkware-libs/cairo-lang) repo: `git checkout tag: v0.14.0.1`. Commit hash should be `66355d7d99f1962ff9ccba8d0dbacbce3bd79bf8`.\n3. Install the correct version of Cairo-lang toolkit: `pip install cairo-lang==0.14.0.1`.\n4. From the root dir of the repo, compile the aggregation program sources into JSON using the installed cairo-compile: `cairo-compile src/starkware/starknet/core/aggregator/main.cairo --cairo_path=src --output agg_compiled.json`.\n5. From the same dir, call the installed cairo-hash-program to compute program hash of the compiled aggregation program JSON: `cairo-hash-program --program agg_compiled.json`.\n6. Convert the hex output into dec, e.g. by running `python -c 'print(int(\"0x181...\", 16))'` (you can replace `0x181...` with your output of `cairo-hash-program`).\n7. Aggregator prefix must be added to the computed dec hash (see [here](https://github.com/starkware-libs/cairo-lang/blob/66355d7d99f1962ff9ccba8d0dbacbce3bd79bf8/src/starkware/cairo/bootloaders/aggregator_utils.py#L4)). You can do this by executing the following python script: \n`from starkware.cairo.lang.vm.crypto import pedersen_hash\nfrom starkware.python.utils import from_bytes\nprogram_hash = {use the value obtained in step 6}\nprint(pedersen_hash(from_bytes(b\"AGGREGATOR\"), program_hash))`\nThe output should be the aggregation program hash in dec.\n ",
"hash": "760308386675154762009993173725077399730170358078020153308029499928875469870"
}
]
}
+1 -1
{
"baseTimestamp": 1761735589,
"baseTimestamp": 1764060007,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+224 -77
+23 -2
[
{
"address": "0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"sinceTimestamp": 1719432935,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
"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:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
"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
}
]
+4 -4
{
"architectureImage": "opstack-rollup-superchain-opfp",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://etherscan.io/address/0xff00000000000000000000000000000000000480#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe2F826324b2faf99E513D16D266c3F80aE87832B#code"
"url": "https://etherscan.io/address/0x381E729FF983FA4BCEd820e7b922d79bF653B999#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exits",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When a state root containing such transaction is settled, the funds become available for withdrawal on L1 after 3d 12h. Withdrawal inclusion can be proven before state root settlement, but a 7d period has to pass before it becomes actionable. The process of state root settlement takes a challenge period of at least 3d 12h to complete. Finally the user submits an L1 transaction to claim the funds. This transaction requires a merkle proof.",
"risks": [],
"references": [
{
"title": "OptimismPortal2.sol - Etherscan source code, proveWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe2F826324b2faf99E513D16D266c3F80aE87832B#code"
"url": "https://etherscan.io/address/0x381E729FF983FA4BCEd820e7b922d79bF653B999#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0xe2F826324b2faf99E513D16D266c3F80aE87832B#code"
"url": "https://etherscan.io/address/0x381E729FF983FA4BCEd820e7b922d79bF653B999#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0xe2F826324b2faf99E513D16D266c3F80aE87832B#code"
"url": "https://etherscan.io/address/0x381E729FF983FA4BCEd820e7b922d79bF653B999#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"stateDerivation": {
"nodeSoftware": "The rollup node is composed of two software components: [op-node](https://github.com/ethereum-optimism/optimism/tree/develop/op-node), implementing consensus related logic, and [op-geth](https://github.com/ethereum-optimism/op-geth), implementing execution logic. The configuration file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/configs/mainnet/worldchain.toml).",
"compressionScheme": "Data batches are compressed using the [zlib](https://github.com/madler/zlib) algorithm with best compression level.",
"genesisState": "The genesis file can be found [here](https://github.com/ethereum-optimism/superchain-registry/blob/main/superchain/extra/genesis/mainnet/worldchain.json.zst).",
"dataFormat": "The format specification of Sequencer's data batches can be found [here](https://optimism.io/blog/here-s-how-you-can-reproduce-op-mainnet-s-migration-to-bedrock)."
},
"stateValidation": {
"description": "Updates to the system state can be proposed and challenged by permissioned operators only. If a state root passes the challenge period, it is optimistically considered correct and made actionable for withdrawals.",
"categories": [
{
"title": "State root proposals",
"description": "Proposers submit state roots as children of the latest confirmed state root (called anchor state), by calling the `create` function in the DisputeGameFactory. A state root can have multiple conflicting children. Each proposal requires a stake, currently set to 0.0 ETH, that can be slashed if the proposal is proven incorrect via a fraud proof. Stakes can be withdrawn only after the proposal has been confirmed. A state root gets confirmed if the challenge period has passed and it is not countered.",
"references": [
{
"title": "OP stack specification: Fault Dispute Game",
"url": "https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#fault-dispute-game"
}
]
},
{
"title": "Challenges",
"description": "Challenges are opened to disprove invalid state roots using bisection games. Each bisection move requires a stake that increases expontentially with the depth of the bisection, with a factor of 1.09493. The maximum depth is 73, and reaching it therefore requires a cumulative stake of 0.00 ETH from depth 0. Actors can participate in any challenge by calling the `defend` or `attack` functions, depending whether they agree or disagree with the latest claim and want to move the bisection game forward. Actors that disagree with the top-level claim are called challengers, and actors that agree are called defenders. Each actor might be involved in multiple (sub-)challenges at the same time, meaning that the protocol operates with [full concurrency](https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a). Challengers and defenders alternate in the bisection game, and they pass each other a clock that starts with 3d 12h. If a clock expires, the claim is considered defeated if it was countered, or it gets confirmed if uncountered. Since honest parties can inherit clocks from malicious parties that play both as challengers and defenders (see [freeloader claims](https://specs.optimism.io/fault-proof/stage-one/fault-dispute-game.html#freeloader-claims)), if a clock gets inherited with less than 3h, it generally gets extended by 3h with the exception of 6h right before depth 30, and 1d right before the last depth. The maximum clock extension that a top level claim can get is therefore 10d. Since unconfirmed state roots are independent of one another, users can decide to exit with a subsequent confirmed state root if the previous one is delayed. Winners get the entire losers' stake, meaning that sybils can potentially play against each other at no cost. The final instruction found via the bisection game is then executed onchain in the MIPS one step prover contract who determines the winner. The protocol does not enforce valid bisections, meaning that actors can propose correct initial claims and then provide incorrect midpoints. The protocol can be subject to resource exhaustion attacks ([Spearbit 5.1.3](https://github.com/ethereum-optimism/optimism/blob/develop/docs/security-reviews/2024_08_Fault-Proofs-No-MIPS_Spearbit.pdf)).",
"references": [
{
"title": "Fraud Proof Wars: OPFP",
"url": "https://medium.com/l2beat/fraud-proof-wars-b0cb4d0f452a"
}
]
}
]
}
}
+2 -2
{
"ethereum": {
"roles": [
{
"id": "Challenger",
"name": "Challenger",
"description": "Allowed to challenge or delete state roots proposed by a Proposer.",
"accounts": [
{
"address": "eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d",
"type": "Contract",
"isVerified": true,
"name": "Alchemy Multisig 1",
"url": "#Alchemy 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).\n* OpFoundationUpgradeSafe has the role if the number of Optimism Security Council members falls below 8\n* Optimism EOA 1 has the role though restricted to the SuperchainConfig's `pause()` function",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
},
{
"address": "eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC",
"type": "EOA",
"isVerified": true,
"name": "Optimism EOA 1",
"url": "#Optimism-EOA-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:0x2307278fC8aB0005974A6DeD2FA6d1187333a223",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-3"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Allowed to commit transactions from the current layer to the host chain.",
"accounts": [
{
"address": "eth:0xdBBE3D8c2d2b22A2611c5A94A9a12C2fCD49Eb29",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Alchemy Multisig 1",
"name": "Alchemy Multisig 1",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * DisputeGameFactory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* A Challenger - acting directly",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * DisputeGameFactory [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* A Challenger - acting directly",
"accounts": [
{
"address": "eth:0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d",
"type": "Contract",
"isVerified": true,
"name": "0xA4fB…bF1d",
"url": "https://etherscan.io/address/0xA4fB12D15Eb85dc9284a7df0AdBC8B696EdbbF1d"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://etherscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "eth:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://etherscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "eth:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://etherscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "eth:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://etherscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "eth:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a",
"type": "EOA",
"isVerified": true,
"name": "0xA351…700a",
"url": "https://etherscan.io/address/0xA351A874b48dCEdf1883dD4F4049bE3d9923700a"
},
{
"address": "eth:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://etherscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "eth:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://etherscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
},
{
"address": "eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"discoveryDrivenData": true
},
{
"id": "OpFoundationUpgradeSafe",
"name": "OpFoundationUpgradeSafe",
"description": "A Multisig with 5/7 threshold. \nMember of SuperchainProxyAdminOwner.\n* A Guardian LivenessModule if the number of Optimism Security Council members falls below 8 → Optimism Security Council → Optimism Guardian Multisig",
"accounts": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "0x847B…9D92",
"url": "https://etherscan.io/address/0x847B5c174615B1B7fDF770882256e2D3E95b9D92"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "#GnosisSafe"
},
{
"address": "eth:0x3041BA32f451F5850c147805F5521AC206421623",
"type": "EOA",
"isVerified": true,
"name": "0x3041…1623",
"url": "https://etherscan.io/address/0x3041BA32f451F5850c147805F5521AC206421623"
},
{
"address": "eth:0xE7dEA1306D9F829bA469d1904c50903b46ebd02e",
"type": "EOA",
"isVerified": true,
"name": "0xE7dE…d02e",
"url": "https://etherscan.io/address/0xE7dEA1306D9F829bA469d1904c50903b46ebd02e"
},
{
"address": "eth:0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8",
"type": "EOA",
"isVerified": true,
"name": "0xBF93…a2c8",
"url": "https://etherscan.io/address/0xBF93D4d727F7Ba1F753E1124C3e532dCb04Ea2c8"
},
{
"address": "eth:0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15",
"type": "EOA",
"isVerified": true,
"name": "0x4D01…6d15",
"url": "https://etherscan.io/address/0x4D014f3c5F33Aa9Cd1Dc29ce29618d07Ae666d15"
},
{
"address": "eth:0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02",
"type": "EOA",
"isVerified": true,
"name": "0x69ac…Fd02",
"url": "https://etherscan.io/address/0x69acfE2096Dfb8d5A041eF37693553c48d9BFd02"
},
{
"address": "eth:0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa",
"type": "EOA",
"isVerified": true,
"name": "0x9bbF…31aa",
"url": "https://etherscan.io/address/0x9bbFB9919062C29a5eE15aCD93c9D7c3b14d31aa"
}
],
"discoveryDrivenData": true
},
{
"id": "Optimism Security Council",
"name": "Optimism Security Council",
"description": "A Multisig with 10/13 threshold. It uses the following modules: LivenessModule (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).\nMember of Optimism Guardian Multisig, SuperchainProxyAdminOwner.\n* A Guardian Optimism Guardian Multisig",
"accounts": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "0xc281…Bd03",
"url": "https://etherscan.io/address/0xc2819DC788505Aac350142A7A707BF9D03E3Bd03"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x07dC0893cAfbF810e3E72505041f2865726Fd073",
"type": "EOA",
"isVerified": true,
"name": "0x07dC…d073",
"url": "https://etherscan.io/address/0x07dC0893cAfbF810e3E72505041f2865726Fd073"
},
{
"address": "eth:0x652BC529E171847E2fFddCeA13567643C84ccB5f",
"type": "EOA",
"isVerified": true,
"name": "0x652B…cB5f",
"url": "https://etherscan.io/address/0x652BC529E171847E2fFddCeA13567643C84ccB5f"
},
{
"address": "eth:0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e",
"type": "EOA",
"isVerified": true,
"name": "0x1822…925e",
"url": "https://etherscan.io/address/0x1822b35B09f5ce1C78ecbC06AC0A4e17885b925e"
},
{
"address": "eth:0x4A7322258c9E690e4CB8Cea6e5251443E956e61E",
"type": "EOA",
"isVerified": true,
"name": "0x4A73…e61E",
"url": "https://etherscan.io/address/0x4A7322258c9E690e4CB8Cea6e5251443E956e61E"
},
{
"address": "eth:0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94",
"type": "EOA",
"isVerified": true,
"name": "0x3A53…aa94",
"url": "https://etherscan.io/address/0x3A53B4B081Eb7Cb00C46497b16Ea22e65E4Faa94"
},
{
"address": "eth:0xEF9A98511939eEe6Ec69af62082E3F2ff606877c",
"type": "EOA",
"isVerified": true,
"name": "0xEF9A…877c",
"url": "https://etherscan.io/address/0xEF9A98511939eEe6Ec69af62082E3F2ff606877c"
},
{
"address": "eth:0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865",
"type": "EOA",
"isVerified": true,
"name": "0x6323…c865",
"url": "https://etherscan.io/address/0x6323ef2b80030f3fBc508bFc321Fc71fDB95c865"
},
{
"address": "eth:0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90",
"type": "EOA",
"isVerified": true,
"name": "0xd5b7…aC90",
"url": "https://etherscan.io/address/0xd5b735b676A043a53946C3b6F6BE28c1ECE6aC90"
},
{
"address": "eth:0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39",
"type": "EOA",
"isVerified": true,
"name": "0x7ed8…9E39",
"url": "https://etherscan.io/address/0x7ed8d9Af9eaA194D1A75C67c1475579E42289E39"
},
{
"address": "eth:0x0aA384EB2fedD2741277A0f72909A0d7275575D7",
"type": "EOA",
"isVerified": true,
"name": "0x0aA3…75D7",
"url": "https://etherscan.io/address/0x0aA384EB2fedD2741277A0f72909A0d7275575D7"
},
{
"address": "eth:0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6",
"type": "EOA",
"isVerified": true,
"name": "0x0a87…efE6",
"url": "https://etherscan.io/address/0x0a8742365a7EB0A3698293ac54357B5Ac04cefE6"
},
{
"address": "eth:0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9",
"type": "EOA",
"isVerified": true,
"name": "0xbfA0…E0d9",
"url": "https://etherscan.io/address/0xbfA046B0bc5cEa1596be62B8b3f79f9f41f1E0d9"
},
{
"address": "eth:0x92827223f6b397CE9F208eE352bacA710765cACb",
"type": "EOA",
"isVerified": true,
"name": "0x9282…cACb",
"url": "https://etherscan.io/address/0x92827223f6b397CE9F208eE352bacA710765cACb"
}
],
"discoveryDrivenData": true
},
{
"id": "SuperchainProxyAdminOwner",
"name": "SuperchainProxyAdminOwner",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: SuperchainProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: SuperchainProxyAdmin]",
"accounts": [
{
"address": "eth:0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A",
"type": "Contract",
"isVerified": true,
"name": "0x5a0A…3d2A",
"url": "https://etherscan.io/address/0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x847B5c174615B1B7fDF770882256e2D3E95b9D92",
"type": "Contract",
"isVerified": true,
"name": "OpFoundationUpgradeSafe",
"url": "#OpFoundationUpgradeSafe"
},
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "LivenessGuard",
"name": "LivenessGuard",
"accounts": [
{
"address": "eth:0x24424336F04440b1c28685a38303aC33C9D14a25",
"type": "Contract",
"isVerified": true,
"name": "0x2442…4a25",
"url": "https://etherscan.io/address/0x24424336F04440b1c28685a38303aC33C9D14a25"
}
],
"chain": "ethereum",
"description": "Modular contract to be used together with the LivenessModule. Tracks liveness / activity of Safe owners.\n* Can interact with LivenessModule\n * can remove members of Optimism Security Council inactive for 3mo 8d ",
"discoveryDrivenData": true
},
{
"id": "Optimism Guardian Multisig",
"name": "Optimism Guardian Multisig",
"description": "A Multisig with 1/1 threshold. It uses the following modules: DeputyPauseModule (Allows 0x352f1defB49718e7Ea411687E850aA8d6299F7aC, called the deputy pauser, to act on behalf of the OpFoundationUpgradeSafe if set as its Safe module).",
"accounts": [
{
"address": "eth:0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2",
"type": "Contract",
"isVerified": true,
"name": "0x09f7…dAf2",
"url": "https://etherscan.io/address/0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xc2819DC788505Aac350142A7A707BF9D03E3Bd03",
"type": "Contract",
"isVerified": true,
"name": "Optimism Security Council",
"url": "#Optimism Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "GnosisSafe",
"name": "GnosisSafe",
"description": "A Multisig with 2/2 threshold. \nMember of OpFoundationUpgradeSafe.\n",
"accounts": [
{
"address": "eth:0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64",
"type": "Contract",
"isVerified": true,
"name": "0x42d2…9c64",
"url": "https://etherscan.io/address/0x42d27eEA1AD6e22Af6284F609847CB3Cd56B9c64"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xb23794fd6BA1CEAd01Cf54D772b8341F2F0197A5",
"type": "EOA",
"isVerified": true,
"name": "0xb237…97A5",
"url": "https://etherscan.io/address/0xb23794fd6BA1CEAd01Cf54D772b8341F2F0197A5"
},
{
"address": "eth:0x4665374939642965EfD8357D4568D2A77f677429",
"type": "EOA",
"isVerified": true,
"name": "0x4665…7429",
"url": "https://etherscan.io/address/0x4665374939642965EfD8357D4568D2A77f677429"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://etherscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
}
],
"chain": "ethereum",
"description": "Member of Alchemy Multisig 1.\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"description": "Member of Alchemy Multisig 1.\n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xdBBE3D8c2d2b22A2611c5A94A9a12C2fCD49Eb29",
"type": "EOA",
"isVerified": true,
"name": "0xdBBE…Eb29",
"url": "https://etherscan.io/address/0xdBBE3D8c2d2b22A2611c5A94A9a12C2fCD49Eb29"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "Optimism-EOA-1",
"name": "Optimism EOA 1",
"accounts": [
{
"address": "eth:0x352f1defB49718e7Ea411687E850aA8d6299F7aC",
"type": "EOA",
"isVerified": true,
"name": "0x352f…F7aC",
"url": "https://etherscan.io/address/0x352f1defB49718e7Ea411687E850aA8d6299F7aC"
}
],
"chain": "ethereum",
"description": "* A Guardian DeputyPauseModule though restricted to the SuperchainConfig's `pause()` function → Optimism Guardian Multisig",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x2307278fC8aB0005974A6DeD2FA6d1187333a223",
"type": "EOA",
"isVerified": true,
"name": "0x2307…a223",
"url": "https://etherscan.io/address/0x2307278fC8aB0005974A6DeD2FA6d1187333a223"
}
],
"chain": "ethereum",
"description": "* A Proposer - acting directly",
"discoveryDrivenData": true
}
]
}
}
+194 -68
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
"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/eth:0x069c4c579671f8c120b1327a73217D01Ea2EC5ea#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
"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/eth:0x6ab0777fD0e609CE58F939a7F70Fe41F5Aa6300A#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
"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/eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04"
],
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
"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"
]
}
],
"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",
"upgradableBy": [
{
"name": "SuperchainProxyAdminOwner",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x95703e0982140D16f8ebA6d158FccEde42f04a4C#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
"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/eth:0x1Df436AfDb2fBB40F1fE8bEd4Fc89A0D0990a8E9#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x470458C91978D2d929704489Ad730DC3E3001113",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
"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/eth:0x470458C91978D2d929704489Ad730DC3E3001113#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0xf931a81D18B1766d15695ffc7c1920a62b7e710a",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
"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/eth: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/eth: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/eth: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/eth:0x153A69e4bb6fEDBbAaF463CB982416316c84B2dB#code"
},
{
"name": "DelayedWETH",
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53",
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0x71e966Ae981d1ce531a7b6d23DC0f27B38409087"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1737984779,
"transactionHash": "0x061ecbc2f5b6c68532d3815244b4f9688b52e13654d6b38441ff2f4c338a53cc",
"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 Alchemy Multisig 1\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x4E6dE8B4c2D5aD6c603648f78311a21558D37A53#code"
},
{
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"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/eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04#code"
"url": "https://etherscan.io/address/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9",
"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/eth:0x55E6125F946F3cB24FC3E07dd7242f96Ce512BD9#code"
"url": "https://etherscan.io/address/eth:0x305d0ceBB616623AD88Ee9A3ACA56aE5984e8033#code"
},
{
"name": "MIPS",
"name": "SuperchainProxyAdmin",
"isVerified": true,
"address": "eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C",
"address": "eth:0x543bA4AADBAb8f9025686Bd03993043599c6fB04",
"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",
"description": "* Roles:\n * **owner**: SuperchainProxyAdminOwner",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x5fE03a12C1236F9C22Cb6479778DDAa4bce6299C#code"
"url": "https://etherscan.io/address/eth: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/eth:0x76fC2F971FB355D0453cF9F64d3F9E4f640E1754#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
"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/eth:0x82Cb528466cF22412d89bdBE9bCF04856790dD0e#code"
},
{
"name": "PreimageOracle",
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277",
"address": "eth:0x90BB48fe3310499Db36437dCAE642F721e32d094",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"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/eth:0x9c065e11870B891D214Bc2Da7EF1f9DDFA1BE277#code"
"url": "https://etherscan.io/address/eth:0x90BB48fe3310499Db36437dCAE642F721e32d094#code"
},
{
"name": "AnchorStateRegistry",
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099",
"address": "eth:0xb705030703Bf8ff4300bd6FBD8dE63CE8492f575",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xb18Dc2d29AB3cBB7a43076d57F0dcAdda70F2E2e"
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1736166383,
"transactionHash": "0x2a85c21b1b14e0b7d7d433d6300ce0d387d69159eafd496702335045d2e298f8",
"timestamp": 1763733803,
"transactionHash": "0xda5fd5cf26ea9fc4b05255ed01c944b6cdce8247846dabf921c3dabd3f82dba9",
"implementations": [
"eth:0xb18Dc2d29AB3cBB7a43076d57F0dcAdda70F2E2e"
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"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",
"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/eth:0xD4D7A57DCC563756DeD99e224E144A6Bf0327099#code"
"url": "https://etherscan.io/address/eth: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/eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D#code"
}
]
},
"escrows": [
{
"address": "0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"sinceTimestamp": 1719432935,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd5ec14a83B7d95BE1E2Ac12523e2dEE12Cbeea6C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xd7405BE7f3e63b094Af6C7C23D5eE33Fd82F872D"
],
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
"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:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
"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
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkProgramHashes": []
}
+1 -1
{
"baseTimestamp": 1763379307,
"baseTimestamp": 1764057561,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+68 -11
+8 -1
[
{
"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,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Custom escrow"
}
]
},
"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:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
"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
}
]
+1 -1
{
"architectureImage": "zircuit",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "Derivation: Batch submission - OP Mainnet specs",
"url": "https://github.com/ethereum-optimism/specs/blob/main/specs/protocol/derivation.md#batch-submission"
},
{
"title": "BatchInbox - address",
"url": "https://explorer.zircuit.com/address/0xFF00000000000000000000000000000000048900#code"
},
{
"title": "OptimismPortal.sol - source code, depositTransaction function",
"url": "https://explorer.zircuit.com/address/0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular messaging",
"description": "The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. The process of block finalization takes a challenge period of 4h to complete.",
"risks": [
{
"category": "Funds can be frozen if",
"text": "the centralized validator goes down. Users cannot produce blocks themselves and exiting the system requires new block production.",
"isCritical": true
}
],
"references": [
{
"title": "OptimismPortal.sol - source code, proveWithdrawalTransaction function",
"url": "https://explorer.zircuit.com/address/0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be#code"
},
{
"title": "OptimismPortal.sol - source code, finalizeWithdrawalTransaction function",
"url": "https://explorer.zircuit.com/address/0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be#code"
},
{
"title": "L2OutputOracle.sol - source code, PROPOSER check",
"url": "https://explorer.zircuit.com/address/0x6AB82bb139383BB758348fBb81EdA57458e59f65#code"
"url": "https://explorer.zircuit.com/address/0x5E66C2820666f4Fb490d2D2edE4dCB0E46CD03C6#code"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages, including forced withdrawals from L1 and regular messages initiated on L2. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator explicitly censors their forced transaction, possible through a modification in the smart contracts."
}
],
"references": [
{
"title": "Forced withdrawal from an OP Stack blockchain",
"url": "https://docs.optimism.io/stack/transactions/forced-transaction"
}
]
},
{
"name": "Escape mechanism",
"description": "Zircuit employs a custom escape mechanism that can help users exit the system in certain situations. If the operator disappears or is down for more than 1mo, users can submit a merkle proof to the L1 contracts to withdraw any ETH or ERC-20 balance they have on L2. L2 DeFi contracts and their deployers can manually distribute their pooled L2 balance using 'Resolver' contracts on L1 in case of an escape. In contrast to individual account escapes, the redistribution of these contract balances to users is permissioned.",
"references": [
{
"title": "Etherscan - OptimismPortal - escapeEth() function",
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1"
}
],
"risks": []
}
],
"forceTransactions": {
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly.",
"risks": [],
"references": [
{
"title": "Sequencing Window - OP Mainnet Specs",
"url": "https://github.com/ethereum-optimism/optimism/blob/51eeb76efeb32b3df3e978f311188aa29f5e3e94/specs/glossary.md#sequencing-window"
},
{
"title": "OptimismPortal.sol - source code, depositTransaction function",
"url": "https://explorer.zircuit.com/address/0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be#code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system. The L2 code has been modified to allow the sequencer to explicitly censor selected L1->L2 transactions.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": [
{
"title": "L1Block.sol - Sourcify explorer source code",
"url": "https://repo.sourcify.dev/48900/0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
}
]
},
"otherConsiderations": [
{
"name": "EVM compatible smart contracts are supported",
"description": "OP stack chains are pursuing the EVM Equivalence model. No changes to smart contracts are required regardless of the language they are written in, i.e. anything deployed on L1 can be deployed on L2.",
"risks": [],
"references": [
{
"title": "Introducing EVM Equivalence",
"url": "https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306"
}
]
}
],
"stateValidation": {
"categories": [
{
"title": "Validity proofs",
"description": "Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "the validity proof cryptography is broken or implemented incorrectly."
},
{
"category": "Funds can be frozen if",
"text": "the SP1VerifierGateway is unable to route proof verification to a valid verifier."
}
],
"references": [
{
"title": "VerifierV3 (SP1VerifierGateway) - Etherscan source code",
"url": "https://etherscan.io/address/0xf35A4088eA0231C44B9DB52D25c0E9E2fEe31f67#code"
}
]
}
]
}
}
+1 -1
{
"ethereum": {
"roles": [
{
"id": "Challenger",
"name": "Challenger",
"description": "Allowed to challenge or delete state roots proposed by a Proposer.",
"accounts": [
{
"address": "eth:0xC463EaC02572CC964D43D2414023E2c6B62bAF38",
"type": "Contract",
"isVerified": true,
"name": "Zircuit Multisig 1",
"url": "#Zircuit 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:0x2c0B27F7C8F083B539557a0bA787041BF22DB276",
"type": "Contract",
"isVerified": true,
"name": "Zircuit Multisig 2",
"url": "#Zircuit Multisig 2"
}
],
"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:0xE8C20EA8eF100d7aa3846616E5D07A5aBb067C65",
"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:0xAF1E4f6a47af647F87C0Ec814d8032C4a4bFF145",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Zircuit Multisig 1",
"name": "Zircuit Multisig 1",
"description": "A Multisig with 6/8 threshold. \n* Can upgrade **with no delay**\n * OptimismPortal [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * ResolverRegistry [via: ProxyAdmin]\n * ZircuitSuperchainConfig [via: ProxyAdmin]\n * L2OutputOracle [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * VerifierV2 [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\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* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes \n* A Challenger - acting directly",
"description": "A Multisig with 6/8 threshold. \n* Can upgrade **with no delay**\n * OptimismPortal [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * ResolverRegistry [via: ProxyAdmin]\n * ZircuitSuperchainConfig [via: ProxyAdmin]\n * L2OutputOracle [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\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* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes \n* A Challenger - acting directly",
"accounts": [
{
"address": "eth:0xC463EaC02572CC964D43D2414023E2c6B62bAF38",
"type": "Contract",
"isVerified": true,
"name": "0xC463…AF38",
"url": "https://etherscan.io/address/0xC463EaC02572CC964D43D2414023E2c6B62bAF38"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xD8399320cF3a6C7068DaC0C35ea5e74ddd650BD4",
"type": "EOA",
"isVerified": true,
"name": "0xD839…0BD4",
"url": "https://etherscan.io/address/0xD8399320cF3a6C7068DaC0C35ea5e74ddd650BD4"
},
{
"address": "eth:0xf5B2C0bfA18561d5374EAcc5FFfA3E39B049c1ae",
"type": "EOA",
"isVerified": true,
"name": "0xf5B2…c1ae",
"url": "https://etherscan.io/address/0xf5B2C0bfA18561d5374EAcc5FFfA3E39B049c1ae"
},
{
"address": "eth:0x63cbB9fA540F6249AE4A3576f48BF07609b3a355",
"type": "EOA",
"isVerified": true,
"name": "0x63cb…a355",
"url": "https://etherscan.io/address/0x63cbB9fA540F6249AE4A3576f48BF07609b3a355"
},
{
"address": "eth:0x5E2a81d611e973C2ab1A4cAa71DD4E4Cdb2617d4",
"type": "EOA",
"isVerified": true,
"name": "0x5E2a…17d4",
"url": "https://etherscan.io/address/0x5E2a81d611e973C2ab1A4cAa71DD4E4Cdb2617d4"
},
{
"address": "eth:0x2F9072d5A8118a60ce41611AEe3e393D107f8Cec",
"type": "EOA",
"isVerified": true,
"name": "0x2F90…8Cec",
"url": "https://etherscan.io/address/0x2F9072d5A8118a60ce41611AEe3e393D107f8Cec"
},
{
"address": "eth:0x0D5edFC67Ae336eddC91031FD6402EeAD6350CAb",
"type": "EOA",
"isVerified": true,
"name": "0x0D5e…0CAb",
"url": "https://etherscan.io/address/0x0D5edFC67Ae336eddC91031FD6402EeAD6350CAb"
},
{
"address": "eth:0x62C688FCa995e07632D64A9586896BB7EcD68567",
"type": "EOA",
"isVerified": true,
"name": "0x62C6…8567",
"url": "https://etherscan.io/address/0x62C688FCa995e07632D64A9586896BB7EcD68567"
},
{
"address": "eth:0x38809210f69ed6204E276d2Be6b15cd530698679",
"type": "EOA",
"isVerified": true,
"name": "0x3880…8679",
"url": "https://etherscan.io/address/0x38809210f69ed6204E276d2Be6b15cd530698679"
}
],
"discoveryDrivenData": true
},
{
"id": "Zircuit Multisig 2",
"name": "Zircuit Multisig 2",
"description": "A Multisig with 2/5 threshold. \n* Can interact with ZircuitSuperchainConfig\n * manage roles including the guardian role \n* A Guardian - acting directly",
"accounts": [
{
"address": "eth:0x2c0B27F7C8F083B539557a0bA787041BF22DB276",
"type": "Contract",
"isVerified": true,
"name": "0x2c0B…B276",
"url": "https://etherscan.io/address/0x2c0B27F7C8F083B539557a0bA787041BF22DB276"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x5E2a81d611e973C2ab1A4cAa71DD4E4Cdb2617d4",
"type": "EOA",
"isVerified": true,
"name": "0x5E2a…17d4",
"url": "https://etherscan.io/address/0x5E2a81d611e973C2ab1A4cAa71DD4E4Cdb2617d4"
},
{
"address": "eth:0x63cbB9fA540F6249AE4A3576f48BF07609b3a355",
"type": "EOA",
"isVerified": true,
"name": "0x63cb…a355",
"url": "https://etherscan.io/address/0x63cbB9fA540F6249AE4A3576f48BF07609b3a355"
},
{
"address": "eth:0x62C688FCa995e07632D64A9586896BB7EcD68567",
"type": "EOA",
"isVerified": true,
"name": "0x62C6…8567",
"url": "https://etherscan.io/address/0x62C688FCa995e07632D64A9586896BB7EcD68567"
},
{
"address": "eth:0x0D5edFC67Ae336eddC91031FD6402EeAD6350CAb",
"type": "EOA",
"isVerified": true,
"name": "0x0D5e…0CAb",
"url": "https://etherscan.io/address/0x0D5edFC67Ae336eddC91031FD6402EeAD6350CAb"
},
{
"address": "eth:0x38809210f69ed6204E276d2Be6b15cd530698679",
"type": "EOA",
"isVerified": true,
"name": "0x3880…8679",
"url": "https://etherscan.io/address/0x38809210f69ed6204E276d2Be6b15cd530698679"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xAF1E4f6a47af647F87C0Ec814d8032C4a4bFF145",
"type": "EOA",
"isVerified": true,
"name": "0xAF1E…F145",
"url": "https://etherscan.io/address/0xAF1E4f6a47af647F87C0Ec814d8032C4a4bFF145"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xE8C20EA8eF100d7aa3846616E5D07A5aBb067C65",
"type": "EOA",
"isVerified": true,
"name": "0xE8C2…7C65",
"url": "https://etherscan.io/address/0xE8C20EA8eF100d7aa3846616E5D07A5aBb067C65"
}
],
"chain": "ethereum",
"description": "* A Proposer - acting directly",
"discoveryDrivenData": true
}
]
},
"zircuit": {
"roles": [],
"actors": [
{
"id": "GnosisSafe",
"name": "GnosisSafe",
"description": "A Multisig with 6/8 threshold. \n* Can upgrade **with no delay**\n * L1Block [via: ProxyAdmin]\n * ProxyAdmin [via: ProxyAdmin]",
"accounts": [
{
"address": "zircuit:0xC463EaC02572CC964D43D2414023E2c6B62bAF38",
"type": "Contract",
"isVerified": true,
"name": "0xC463…AF38",
"url": "https://explorer.zircuit.com/address/0xC463EaC02572CC964D43D2414023E2c6B62bAF38"
}
],
"chain": "zircuit",
"references": [],
"participants": [
{
"address": "zircuit:0xD8399320cF3a6C7068DaC0C35ea5e74ddd650BD4",
"type": "EOA",
"isVerified": true,
"name": "0xD839…0BD4",
"url": "https://explorer.zircuit.com/address/0xD8399320cF3a6C7068DaC0C35ea5e74ddd650BD4"
},
{
"address": "zircuit:0xf5B2C0bfA18561d5374EAcc5FFfA3E39B049c1ae",
"type": "EOA",
"isVerified": true,
"name": "0xf5B2…c1ae",
"url": "https://explorer.zircuit.com/address/0xf5B2C0bfA18561d5374EAcc5FFfA3E39B049c1ae"
},
{
"address": "zircuit:0x63cbB9fA540F6249AE4A3576f48BF07609b3a355",
"type": "EOA",
"isVerified": true,
"name": "0x63cb…a355",
"url": "https://explorer.zircuit.com/address/0x63cbB9fA540F6249AE4A3576f48BF07609b3a355"
},
{
"address": "zircuit:0x5E2a81d611e973C2ab1A4cAa71DD4E4Cdb2617d4",
"type": "EOA",
"isVerified": true,
"name": "0x5E2a…17d4",
"url": "https://explorer.zircuit.com/address/0x5E2a81d611e973C2ab1A4cAa71DD4E4Cdb2617d4"
},
{
"address": "zircuit:0x2F9072d5A8118a60ce41611AEe3e393D107f8Cec",
"type": "EOA",
"isVerified": true,
"name": "0x2F90…8Cec",
"url": "https://explorer.zircuit.com/address/0x2F9072d5A8118a60ce41611AEe3e393D107f8Cec"
},
{
"address": "zircuit:0x0D5edFC67Ae336eddC91031FD6402EeAD6350CAb",
"type": "EOA",
"isVerified": true,
"name": "0x0D5e…0CAb",
"url": "https://explorer.zircuit.com/address/0x0D5edFC67Ae336eddC91031FD6402EeAD6350CAb"
},
{
"address": "zircuit:0x62C688FCa995e07632D64A9586896BB7EcD68567",
"type": "EOA",
"isVerified": true,
"name": "0x62C6…8567",
"url": "https://explorer.zircuit.com/address/0x62C688FCa995e07632D64A9586896BB7EcD68567"
},
{
"address": "zircuit:0x38809210f69ed6204E276d2Be6b15cd530698679",
"type": "EOA",
"isVerified": true,
"name": "0x3880…8679",
"url": "https://explorer.zircuit.com/address/0x38809210f69ed6204E276d2Be6b15cd530698679"
}
],
"discoveryDrivenData": true
}
]
}
}
+57 -7
{
"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/eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x83085450544c3F360a40720859EbB1bfd311584D"
"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 1\n * **owner**: Zircuit Multisig 1",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff#code"
},
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x92Ef6Af472b39F1b363da45E35530c24619245A4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x6AB82bb139383BB758348fBb81EdA57458e59f65"
"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"
]
}
],
"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. If allowBootstrapKeepalive is set to true (currently false), then this contract accepts a state root without proof if the operator has not updated the state in 4h. 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 2",
"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 2",
"upgradableBy": [
{
"name": "Zircuit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth: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/eth: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/eth:0x2a721cBE81a128be0F01040e3353c3805A5EA091#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
"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/eth: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/eth: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/eth: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/eth: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/eth: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/eth: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/eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79#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/eth: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/eth: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/zircuit: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/zircuit: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,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Custom escrow"
}
]
},
"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:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
"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
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkProgramHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client.",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x008adbf6e7ba087ac0b05572c938b7707400d7b41318efcbc1d7ffbbbed50452"
"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.",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x40bc0563112dcc6868037ea0445916342df200ec0152bf7b4c2cca1d640fdaa3"
"hash": "0x04415a0d46de8b145eb5056969fa3b5900c3c23a21cb3feb2bdcb8da752de7a1"
}
]
}
+1 -1
{
"baseTimestamp": 1762276375,
"baseTimestamp": 1764059552,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}