e88b9d16 (main)
and
c60e7594 (PR)
+5 -5
+3 -3
{
"base": {
"roles": [],
"actors": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"accounts": [
{
"address": "base:0x8cC51c3008b3f03Fe483B28B8Db90e19cF076a6d",
"type": "EOA",
"isVerified": true,
"name": "0x8cC5…6a6d",
"url": "https://basescan.org/address/0x8cC51c3008b3f03Fe483B28B8Db90e19cF076a6d",
"displayName": "Base Governance Multisig - L2 Alias"
}
],
"chain": "base",
"description": "* Can upgrade **with no delay**\n * L2CrossDomainMessenger [via: ProxyAdmin]\n * L2StandardBridge [via: ProxyAdmin]\n * SequencerFeeVault [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1BlockNumber [via: ProxyAdmin]\n * L2ERC721Bridge [via: ProxyAdmin]\n * L1Block [via: ProxyAdmin]\n * L2ToL1MessagePasser [via: ProxyAdmin]\n * OptimismMintableERC721Factory [via: ProxyAdmin]\n * ProxyAdmin [via: ProxyAdmin]\n * BaseFeeVault [via: ProxyAdmin]\n * L1FeeVault [via: ProxyAdmin]\n * SchemaRegistry [via: ProxyAdmin]\n * EAS [via: ProxyAdmin]",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "base:0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221",
"address": "base:0xa966054731540a48b28990b63Dcf4f33d8aE57B2",
"type": "EOA",
"isVerified": true,
"name": "0xaD5B…B221",
"url": "https://basescan.org/address/0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221",
"name": "0xa966…57B2",
"url": "https://basescan.org/address/0xa966054731540a48b28990b63Dcf4f33d8aE57B2",
"displayName": "EOA 2"
}
],
"chain": "base",
"description": "* Can upgrade **with no delay**\n * FeeDisburser ",
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [],
"actors": [
{
"id": "Base Governance Multisig",
"name": "Base Governance Multisig",
"description": "A Multisig with 2/2 threshold. \n* Can upgrade **with no delay**\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * TEEProverRegistry [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with SuperchainConfig\n * 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* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c",
"type": "Contract",
"isVerified": true,
"name": "0x7bB4…595c",
"url": "https://etherscan.io/address/0x7bB41C3008B3f03FE483B28b8DB90e19Cf07595c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9855054731540A48b28990B63DcF4f33d8AE46A1",
"type": "Contract",
"isVerified": true,
"name": "Base Coordinator Multisig",
"url": "#Base Coordinator Multisig"
},
{
"address": "eth:0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd",
"type": "Contract",
"isVerified": true,
"name": "Base Security Council",
"url": "#Base Security Council"
}
],
"discoveryDrivenData": true
},
{
"id": "Base Multisig 1",
"name": "Base Multisig 1",
"description": "A Multisig with 3/13 threshold. \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 SuperchainConfig\n * can pause for up to 3mo 1d, but cannot unpause or extend pauses ",
"accounts": [
{
"address": "eth:0x14536667Cd30e52C0b458BaACcB9faDA7046E056",
"type": "Contract",
"isVerified": true,
"name": "0x1453…E056",
"url": "https://etherscan.io/address/0x14536667Cd30e52C0b458BaACcB9faDA7046E056"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xD56C6462DC3A943596c7a54d6B0Dba404490E206",
"type": "EOA",
"isVerified": true,
"name": "0xD56C…E206",
"url": "https://etherscan.io/address/0xD56C6462DC3A943596c7a54d6B0Dba404490E206"
},
{
"address": "eth:0x8faB0B6b31A0b50A2c3d1FFBE6C0e1125699aE9d",
"type": "EOA",
"isVerified": true,
"name": "0x8faB…aE9d",
"url": "https://etherscan.io/address/0x8faB0B6b31A0b50A2c3d1FFBE6C0e1125699aE9d"
},
{
"address": "eth:0x0c1Ea3aCA9fc2cFa3640fec98a3214A849715b43",
"type": "EOA",
"isVerified": true,
"name": "0x0c1E…5b43",
"url": "https://etherscan.io/address/0x0c1Ea3aCA9fc2cFa3640fec98a3214A849715b43"
},
{
"address": "eth:0x082Cc00d1031a57d53496aBf6dAD8A6247159452",
"type": "EOA",
"isVerified": true,
"name": "0x082C…9452",
"url": "https://etherscan.io/address/0x082Cc00d1031a57d53496aBf6dAD8A6247159452"
},
{
"address": "eth:0x1841CB3C2ce6870D0417844C817849da64E6e937",
"type": "EOA",
"isVerified": true,
"name": "0x1841…e937",
"url": "https://etherscan.io/address/0x1841CB3C2ce6870D0417844C817849da64E6e937"
},
{
"address": "eth:0x5B154B8587168CB984Ff610F5De74289D8f68874",
"type": "EOA",
"isVerified": true,
"name": "0x5B15…8874",
"url": "https://etherscan.io/address/0x5B154B8587168CB984Ff610F5De74289D8f68874"
},
{
"address": "eth:0x541a833E4303EB56a45bE7E8E4A908db97568d1e",
"type": "EOA",
"isVerified": true,
"name": "0x541a…8d1e",
"url": "https://etherscan.io/address/0x541a833E4303EB56a45bE7E8E4A908db97568d1e"
},
{
"address": "eth:0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236",
"type": "EOA",
"isVerified": true,
"name": "0xB37B…f236",
"url": "https://etherscan.io/address/0xB37B2D42cb0C10ebf96279CcECa2cBFc47C6f236"
},
{
"address": "eth:0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc",
"type": "EOA",
"isVerified": true,
"name": "0x644e…74dc",
"url": "https://etherscan.io/address/0x644e3DedB0e4F83Bfcf8F9992964d240224B74dc"
},
{
"address": "eth:0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E",
"type": "EOA",
"isVerified": true,
"name": "0x7Ad8…488E",
"url": "https://etherscan.io/address/0x7Ad8E6B7B1f6D66F49559f20053Cef8a7b6c488E"
},
{
"address": "eth:0x26c72586FB396325F58718152FEFA94E93Cf177b",
"type": "EOA",
"isVerified": true,
"name": "0x26c7…177b",
"url": "https://etherscan.io/address/0x26c72586FB396325F58718152FEFA94E93Cf177b"
},
{
"address": "eth:0xa3D3c103442F162856163d564b983ae538c6202D",
"type": "EOA",
"isVerified": true,
"name": "0xa3D3…202D",
"url": "https://etherscan.io/address/0xa3D3c103442F162856163d564b983ae538c6202D"
},
{
"address": "eth:0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839",
"type": "EOA",
"isVerified": true,
"name": "0x4924…3839",
"url": "https://etherscan.io/address/0x49243DcE94e0f5A1B08b9556bBEc5a84363c3839"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 3d delay** [via: TimelockController with 3d delay]\n * propose transactions \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierRouter\n * add/remove verifiers and the selectors they are mapped to **with 3d delay** [via: TimelockController with 3d delay]\n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier \n* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"accounts": [
{
"address": "eth:0x2E5bcc9959dB5F5016F830E47943b07242CB2609",
"type": "Contract",
"isVerified": true,
"name": "0x2E5b…2609",
"url": "https://etherscan.io/address/0x2E5bcc9959dB5F5016F830E47943b07242CB2609"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E",
"type": "EOA",
"isVerified": true,
"name": "0x10B0…6A0E",
"url": "https://etherscan.io/address/0x10B0589c16a8851450BD7FEE274cD349fB9d6A0E"
},
{
"address": "eth:0x751708D6341b36c0C258754fc2DbF96074f5BdC7",
"type": "EOA",
"isVerified": true,
"name": "0x7517…BdC7",
"url": "https://etherscan.io/address/0x751708D6341b36c0C258754fc2DbF96074f5BdC7"
},
{
"address": "eth:0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4",
"type": "EOA",
"isVerified": true,
"name": "0xbF58…73a4",
"url": "https://etherscan.io/address/0xbF58b6DE2B893e7ab707edc6cf99Bb6989C173a4"
},
{
"address": "eth:0xd5D43445d0227a47cA2eACCb9392352746eD9926",
"type": "EOA",
"isVerified": true,
"name": "0xd5D4…9926",
"url": "https://etherscan.io/address/0xd5D43445d0227a47cA2eACCb9392352746eD9926"
},
{
"address": "eth:0xDA8e7102681f9652FB8a10b70949CF7F260e0A01",
"type": "EOA",
"isVerified": true,
"name": "0xDA8e…0A01",
"url": "https://etherscan.io/address/0xDA8e7102681f9652FB8a10b70949CF7F260e0A01"
}
],
"discoveryDrivenData": true
},
{
"id": "Base Security Council",
"name": "Base Security Council",
"description": "A Multisig with 8/11 threshold. \nMember of Base Governance Multisig.\n",
"accounts": [
{
"address": "eth:0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd",
"type": "Contract",
"isVerified": true,
"name": "0x20Ac…A4Dd",
"url": "https://etherscan.io/address/0x20AcF55A3DCfe07fC4cecaCFa1628F788EC8A4Dd"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - Base Docs",
"url": "https://docs.base.org/chain/security-council"
}
],
"participants": [
{
"address": "eth:0xbDE1845c879942fC326F247Ad708677733Dd5594",
"type": "EOA",
"isVerified": true,
"name": "0xbDE1…5594",
"url": "https://etherscan.io/address/0xbDE1845c879942fC326F247Ad708677733Dd5594"
},
{
"address": "eth:0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6",
"type": "EOA",
"isVerified": true,
"name": "0x5ff5…ACC6",
"url": "https://etherscan.io/address/0x5ff5C78ff194acc24C22DAaDdE4D639ebF18ACC6"
},
{
"address": "eth:0x82C80F34C4b5c153dB76122a11AaD2F77C99E766",
"type": "EOA",
"isVerified": true,
"name": "0x82C8…E766",
"url": "https://etherscan.io/address/0x82C80F34C4b5c153dB76122a11AaD2F77C99E766"
},
{
"address": "eth:0xa8ee754FD1d069fb4B5d652730A0ca5e07a3fb06",
"type": "EOA",
"isVerified": true,
"name": "0xa8ee…fb06",
"url": "https://etherscan.io/address/0xa8ee754FD1d069fb4B5d652730A0ca5e07a3fb06"
},
{
"address": "eth:0x1C56A6d2A6Af643cea4E62e72B75B9bDe8d62e2B",
"type": "EOA",
"isVerified": true,
"name": "0x1C56…2e2B",
"url": "https://etherscan.io/address/0x1C56A6d2A6Af643cea4E62e72B75B9bDe8d62e2B"
},
{
"address": "eth:0xA5657B88A0130a626fcDd6aAA59522373438CdFE",
"type": "EOA",
"isVerified": true,
"name": "0xA565…CdFE",
"url": "https://etherscan.io/address/0xA5657B88A0130a626fcDd6aAA59522373438CdFE"
},
{
"address": "eth:0x21C7D1e6A81Daca071bA94839ab74C39A25f851F",
"type": "EOA",
"isVerified": true,
"name": "0x21C7…851F",
"url": "https://etherscan.io/address/0x21C7D1e6A81Daca071bA94839ab74C39A25f851F"
},
{
"address": "eth:0xa5959a39cA67b9fb473E4A3A898C611EEAc9CB73",
"type": "EOA",
"isVerified": true,
"name": "0xa595…CB73",
"url": "https://etherscan.io/address/0xa5959a39cA67b9fb473E4A3A898C611EEAc9CB73"
},
{
"address": "eth:0x18e982274f8C5B548D5aAc7aBef44D61504e1b3E",
"type": "EOA",
"isVerified": true,
"name": "0x18e9…1b3E",
"url": "https://etherscan.io/address/0x18e982274f8C5B548D5aAc7aBef44D61504e1b3E"
},
{
"address": "eth:0x99DB5BbA0db16e9aD05e3ff53310683CC3C971D2",
"type": "EOA",
"isVerified": true,
"name": "0x99DB…71D2",
"url": "https://etherscan.io/address/0x99DB5BbA0db16e9aD05e3ff53310683CC3C971D2"
},
{
"address": "eth:0x0E8A99738a50D523871739c6d676554b0E34252f",
"type": "EOA",
"isVerified": true,
"name": "0x0E8A…252f",
"url": "https://etherscan.io/address/0x0E8A99738a50D523871739c6d676554b0E34252f"
}
],
"discoveryDrivenData": true
},
{
"id": "Base Coordinator Multisig",
"name": "Base Coordinator Multisig",
"description": "A Multisig with 3/6 threshold. \nMember of Base Governance Multisig.\n",
"accounts": [
{
"address": "eth:0x9855054731540A48b28990B63DcF4f33d8AE46A1",
"type": "Contract",
"isVerified": true,
"name": "0x9855…46A1",
"url": "https://etherscan.io/address/0x9855054731540A48b28990B63DcF4f33d8AE46A1"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c",
"type": "EOA",
"isVerified": true,
"name": "0xf9e3…177c",
"url": "https://etherscan.io/address/0xf9e320f3dA12E68af219d9E2A490Dd649f6B177c"
},
{
"address": "eth:0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7",
"type": "EOA",
"isVerified": true,
"name": "0xB011…62F7",
"url": "https://etherscan.io/address/0xB011a32ED8b4F70D9943A2199F539bbeCd7b62F7"
},
{
"address": "eth:0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E",
"type": "EOA",
"isVerified": true,
"name": "0x3Dad…c18E",
"url": "https://etherscan.io/address/0x3Dad2200849925Bb46d9bF05aFa5f7F213F4c18E"
},
{
"address": "eth:0x1c870776B168A9ffAE80c51f050C611eDd246741",
"type": "EOA",
"isVerified": true,
"name": "0x1c87…6741",
"url": "https://etherscan.io/address/0x1c870776B168A9ffAE80c51f050C611eDd246741"
},
{
"address": "eth:0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1",
"type": "EOA",
"isVerified": true,
"name": "0x3cd6…A9a1",
"url": "https://etherscan.io/address/0x3cd692eCE8b6573A2220ae00d0dEb98f0DfFA9a1"
},
{
"address": "eth:0x6CD3850756b7894774Ab715D136F9dD02837De50",
"type": "EOA",
"isVerified": true,
"name": "0x6CD3…De50",
"url": "https://etherscan.io/address/0x6CD3850756b7894774Ab715D136F9dD02837De50"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x5050F69a9786F081509234F1a7F4684b5E5b76C9",
"type": "EOA",
"isVerified": true,
"name": "0x5050…76C9",
"url": "https://etherscan.io/address/0x5050F69a9786F081509234F1a7F4684b5E5b76C9",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"type": "EOA",
"isVerified": true,
"name": "0xF616…d412",
"url": "https://etherscan.io/address/0xF616A4f81857CFEe54A4A049Ec187172574bd412",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with RiscZeroVerifierEmergencyStop\n * pause the verifier ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728308027,
"transactionHash": "0x60eca85990bf426b85e3f3db9d9215e7fb229dce201a62401ad3d8a08ee5613c",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x468C2345D1d409d5b0F2f8bE4aE2082150cC1a0c"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x43edB88C4B80fDD2AdFF2412A7BebF9dF42cB40e#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x5FB30336A8d0841cf15d452afA297cB6D10877D7"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the AggregateVerifier.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x49048044D57e1C92A77f79988d21Fa8fAF74E97e#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x73a79Fab69143498Ed3712e519A88a918e1f4072",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793907,
"transactionHash": "0x0a7442e325dac626d8c16a7a052e9a2ee8cd08a5b8c9796228b4d297e20ea3cc",
"implementations": [
"eth:0x6481ff79597Fe4F77E1063f615ec5BDaDDEFfd4B"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xF56D96B2535B932656d3c04Ebf51baBff241D886"
]
},
{
"timestamp": 1733958059,
"transactionHash": "0x1fdbb2443b479fedc7a6e43400a5f09c883aa00d3e7b40bc7238a08e43625294",
"implementations": [
"eth:0x45C4e267aE21E90f72C8AbF43ddB5941c953482F"
]
},
{
"timestamp": 1738700927,
"transactionHash": "0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1738700927,
"transactionHash": "0x765a2eb3c7eecea5722b120037123eaec9e6ef4b6a53ba2bcfb88ef08fae074b",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1750797287,
"transactionHash": "0x289aeed24a156bbb3b03cbbe0ef4e5fc873436d41cf50c746cdd380ff26be89b",
"implementations": [
"eth:0x78FFE9209dFF6Fe1c9B6F3EFdF996BeE60346D0e"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
{
"timestamp": 1772559059,
"transactionHash": "0xa2dc938704977d2f3d0765832e79e1239d97aa6912efadc21a9705ef7dca42eb",
"implementations": [
"eth:0x0507Aaa21c678976FCdC7e804836ACd6ebc17a44"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **batcherHash**: EOA 1\n * **owner**: Base Multisig 1",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73a79Fab69143498Ed3712e519A88a918e1f4072#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xb535ff7F118260a952CE65e7fF41B1743De8EE6c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771973279,
"transactionHash": "0x29d51cf032651b7bedba5af1030eff2c43e40b676d4fe2cdf6c970a8a01e3a43",
"implementations": [
"eth:0xc4ceeB264Fa35a022e470aCc3C6A522308f3ec02"
]
}
],
"description": "Base's own SuperchainConfig, used to manage pause states for the Base chain. The guardian and incident responder roles are immutable and set at construction time. The guardian can pause, unpause, and extend pauses, while the incident responder can only pause. Each pause automatically expires after 3 months.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig\n * **guardian**: Base Governance Multisig\n * **incident_responder**: Base Multisig 1",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb535ff7F118260a952CE65e7fF41B1743De8EE6c#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3154Cf16ccdb4C6d922629664174b904d80F2C35#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x608d94945A64503E642E6370Ec598e519a2C1E53",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x3311aC7F72bb4108d9f4D5d50E7623B1498A9eC0"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x608d94945A64503E642E6370Ec598e519a2C1E53#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793907,
"transactionHash": "0x8869b94ddd0ba84b41d937708db7b8aa64948e85b3a11e970f22887a56b0b1d7",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x81C4Bd600793EBd1C0323604E1F455fE50A951F8"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x866E82a600A1414e583f7F13623F1aC5d58b0Afa#code"
},
{
"name": "HistoryStorage",
"isVerified": true,
"address": "eth:0x0000F90827F1C53a10cb7A02335B175320002935",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"references": [
{
"title": "Source Code",
"url": "https://eips.ethereum.org/EIPS/eip-2935"
}
],
"description": "EIP-2935 system contract storing the last 8191 L1 blockhashes. Bytecode is canonical to the EIP, deployed at the same address across networks.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0000F90827F1C53a10cb7A02335B175320002935#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Base Governance Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x3d2c2f8f95CAba644eA25319c4c08594b8DC0359"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05cc379EBD9B30BbA19C6fA282AB29218EC61D84#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x0b144E07A0826182B6b59788c34b32Bfa86Fb711",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 3d.\n* Roles:\n * **canceller**: Safe\n * **defaultAdmin**: TimelockController; ultimately Safe\n * **executor**: Safe\n * **proposer**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b144E07A0826182B6b59788c34b32Bfa86Fb711#code"
},
{
"name": "TEEProverRegistry",
"isVerified": true,
"address": "eth:0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1779394811,
"transactionHash": "0xa94f74e29a92b8875b27a53a90195adba0f46b381f8c6bb5d6a51c98080da52b",
"implementations": [
"eth:0xeaB9b34BDD26Ad451B381B0934a30fAa6ED5E316"
]
}
],
"description": "Registry of authorized TEE enclave signers and proposer addresses used by the TEEVerifier. Owner can add or remove allowlisted proposers via setProposer (onlyOwner) and set the AggregateVerifier game type lookup. Owner and Manager can register or deregister enclave signers via registerSigner / deregisterSigner. Registration requires a Risc0 ZK proof of a valid AWS Nitro attestation document verified by the NITRO_VERIFIER.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1af2A7E537DE2eE795DE5B8BfbB1Ad0DD513A5aA#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x1efDd13f831ceeEa14940806705A53D3211CD698",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1efDd13f831ceeEa14940806705A53D3211CD698#code"
},
{
"name": "TEEVerifier",
"isVerified": true,
"address": "eth:0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless verifier that validates AggregateVerifier TEE proofs by recovering an ECDSA signature over the journal and checking the recovered signer against TEEProverRegistry. Enforces PCR0 match by comparing the signer's registered image hash to the AggregateVerifier's TEE_IMAGE_HASH. Can be permanently nullified by a successful AggregateVerifier.nullify call.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1FbA0C57b07Af804A9717e51dec9CC27FBC12228#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.0.0-rc.3).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 3.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a098988600d87650Fb061FfAff08B97149Fa84D#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44c220f0598345195cE99AD6A57aDfFcb9Ea33e7#code"
},
{
"name": "RiscZeroSetVerifier",
"isVerified": true,
"address": "eth:0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Set verifier contract for RISC Zero proofs (version 0.9.0). It allows verifying a whole set of proofs identified with a Merkle root at once, afterwards each individual proof could be efficiently verified just by checking Merkle inclusion against the verified root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5005aBa3DFf7C940fcc1e48DccCAD611a80eEB85#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x64AE5250958CdeB83f6b61f913B5Ac6Ebe8EFd4D#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x68dC2cB4e61774873971c499D9b239ec5Ac540E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x68dC2cB4e61774873971c499D9b239ec5Ac540E3#code"
},
{
"name": "Escrow",
"isVerified": true,
"address": "eth:0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3#code"
},
{
"name": "NitroEnclaveVerifier",
"isVerified": true,
"address": "eth:0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ZK-based verifier of AWS Nitro Enclave attestation documents. Used by TEEProverRegistry to validate new enclave signer registrations against the AWS Nitro PKI.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7F3a16E1fe6Fda64c5AC4296E13ECB9F7B44F6fb#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x844D5f01161E3559d36f23d0Aa9E9620949aF782",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroSetVerifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x844D5f01161E3559d36f23d0Aa9E9620949aF782#code"
},
{
"name": "RiscZeroVerifierRouter",
"isVerified": true,
"address": "eth:0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router proxy that routes to verifiers based on selectors. The mapping can be changed by a permissioned owner (TimelockController).\n* Roles:\n * **owner**: TimelockController; ultimately Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8EaB2D97Dfce405A1692a21b3ff3A172d593D319#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x909f6cf47ed12f010A796527f562bFc26C7F4E72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x4483F964F6711Cb55f633820ED174E780369b99D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x4483F964F6711Cb55f633820ED174E780369b99D"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x909f6cf47ed12f010A796527f562bFc26C7F4E72#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695935315,
"transactionHash": "0xac8580fdfdbb35af667cf9c5c5fa9d10c793486d10fcbea538efd9386b04c106",
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9de443AdC5A411E83F1878Ef24C3F52C61571e72#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0x9F9994Eb4Cb5200198FEfb470f8b50301662e696",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9F9994Eb4Cb5200198FEfb470f8b50301662e696#code"
},
{
"name": "SkyLink Bridge",
"isVerified": true,
"address": "eth:0xA5874756416Fa632257eEA380CAbd2E87cED352A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xaeFd31c2e593Dc971f9Cb42cBbD5d4AD7F1970b6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1728571151,
"transactionHash": "0xde7d483c73060001a6d0ee88b5b9848bdb8a830a93a9579e956350b80296db83",
"implementations": [
"eth:0xaeFd31c2e593Dc971f9Cb42cBbD5d4AD7F1970b6"
]
}
],
"description": "Custom bridge for USDS and sUSDS managed by Sky governance.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA5874756416Fa632257eEA380CAbd2E87cED352A#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for RISC Zero Groth16 proofs (version 2.2.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2#code"
},
{
"name": "ZkVerifier",
"isVerified": true,
"address": "eth:0xB88D95bDf6972508942d184866890c1834219B75",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Thin router that forwards SP1 ZK proof verification from the AggregateVerifier game to the SP1 verifier gateway. Can be permanently nullified by a successful AggregateVerifier.nullify call.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB88D95bDf6972508942d184866890c1834219B75#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x437c42d7927fe396E54da837d6aC57756cD868e3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1779394835,
"transactionHash": "0xdd0a92f8c5c98e49332f4d4349b9cf72f9da59dbfb9154ce6c532083072a6403",
"implementations": [
"eth:0x437c42d7927fe396E54da837d6aC57756cD868e3"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig",
"upgradableBy": [
{
"name": "Base Governance Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd0D07924AdD740a87e41Ca8A0d4CBBf6b074EF71#code"
},
{
"name": "RiscZeroVerifierEmergencyStop",
"isVerified": true,
"address": "eth:0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A verifier wrapper for the RiscZeroGroth16Verifier that allows pausing (emergency stop) the verifier by its owner.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDa8f3de6fBBdb261Ac771B813a578A7aBdA6B2b1#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0xdc32E228636273285Befa5F001dBB5142517C106",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: Base Governance Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdc32E228636273285Befa5F001dBB5142517C106#code"
},
{
"name": "AggregateVerifier",
"isVerified": true,
"address": "eth:0xeEcb8A5944B217585817E802702b1262a049D259",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Game type implementation that combines a TEE attestation arm and a ZK proof arm. A single un-nullified proof of either type can resolve a game (PROOF_THRESHOLD = 1). When both arms commit, the finalization window collapses from SLOW_FINALIZATION_DELAY (7d) to FAST_FINALIZATION_DELAY (1d).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeEcb8A5944B217585817E802702b1262a049D259#code"
},
{
"name": "RiscZeroGroth16Verifier",
"isVerified": true,
"address": "eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C#code"
}
],
"base": [
{
"name": "FeeDisburser",
"isVerified": true,
"address": "base:0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaD5B57FEB77e294fD7BF5EBE9aB01caA0a90B221"
"base:0xa966054731540a48b28990b63Dcf4f33d8aE57B2"
],
"implementations": [
"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693609603,
"transactionHash": "0x49e50b94dd7c45505380b0015b912b001354b9103fc5549d05a2b4bb7e433278",
"implementations": [
"base:0x45969D00739d518f0Dde41920B67cE30395135A0"
]
},
{
"timestamp": 1772559377,
"transactionHash": "0x055b31e8fb8689e5e72d9c41c1c38b5a165fd145aa76bf118194f86a066d0650",
"implementations": [
"base:0xDa70b4cd0Cd8193f665A7D49CeFD5f79F11FCc75"
]
},
{
"timestamp": 1773435991,
"transactionHash": "0x68c2a1b66361dcb9ec2f8b1fe26ae275021b6d78751d0577fc0bd410dfd47518",
"implementations": [
"base:0x72984FeF9c2123eBB66912CeAB9e47C5E9B738e6"
]
}
],
"description": "Contract used to disburse funds from system FeeVault contracts, shares revenue with Optimism and bridges the rest of funds to L1.\n* Roles:\n * **admin**: EOA 2",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x09C7bAD99688a55a2e83644BFAed09e62bDcCcBA#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "L2StandardBridge",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000010",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3c0d3c0D3c0d3C0D3c0D3C0d3C0D3C0D30010"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2StandardBridge contract is the main entry point to deposit or withdraw ERC20 tokens from L2 to L1. This contract can store any token.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000010#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xd53210eE20948eCFF8B6B8180E29657e0ce8492d"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x54d194FaAe439fc3f8024801B0b9EBc91Ebd39f5"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xd53210eE20948eCFF8B6B8180E29657e0ce8492d"
]
}
],
"description": "Collects the sequencer fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000012",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1716225807,
"transactionHash": "0xf433ab504bcdb633914551cb2410aa89683d05db0062dca76fbe7a48297745c0",
"implementations": [
"base:0x6922ac4DbDfEdEa3a1E5535f12c3171f2b964C91"
]
}
],
"description": "Factory contract to create bridge compliant ERC20 IOU token representations of bridged L1 ERC20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000012#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L2ERC721Bridge",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000014",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3c0d3c0d3c0d3c0D3C0d3C0D3C0D3c0d30014"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "The L2ERC721Bridge contract is the main entry point to deposit or withdraw ERC721 tokens from L2 to L1. This contract can store any token.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000014#code"
},
{
"name": "L1Block",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710374401,
"transactionHash": "0x9f2b2d34dfa2cb55cceb9860cade0cb03cfbd7ff1dd07d48b4708b29a46b4a24",
"implementations": [
"base:0x07dbe8500fc591d1852B76feE44d5a05e13097Ff"
]
},
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"base:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1764691201,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"base:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
}
],
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0D3C0d3C0d3c0d3C0d3C0D3c0D3c0d3c0D30016"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Contract used internally by the L2CrossDomainMessenger to send messages to L1, including withdrawals. It can also be used directly as a low-level interface.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "OptimismMintableERC721Factory",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000017",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xc0d3C0d3C0d3C0d3C0d3c0d3C0D3C0d3C0D30017"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "Factory contract to create bridge compliant ERC721 IOU token representations of bridged L1 ERC721 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000017#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "base",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias\n * **owner**: Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x4E207bDF8aece56de86821f5370b2b993D08C9E9"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xB0B77878bBc76E29aBE7584Bda27ae3CE1A9059a"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x4E207bDF8aece56de86821f5370b2b993D08C9E9"
]
}
],
"description": "Collects EIP-1559 base fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "base:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x0c9034b92351cF8f067379a1fFA4fa35f5AF9dCC"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0xD36F11023188134d0f4610fF0C6e01c1B11488f8"
]
},
{
"timestamp": 1693589723,
"transactionHash": "0xe56b939e6eed472f168be6942f7b08af959d3777eee8b8508f82ef5ade47d528",
"implementations": [
"base:0x0c9034b92351cF8f067379a1fFA4fa35f5AF9dCC"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees, which are withdrawable to the FeesCollector on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0x75505a97BD334E7BD3C476893285569C4136Fa0F"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1694184179,
"transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27",
"implementations": [
"base:0x75505a97BD334E7BD3C476893285569C4136Fa0F"
]
}
],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "base:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x4200000000000000000000000000000000000018"
],
"implementations": [
"base:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1694184179,
"transactionHash": "0x582b0cae963bb1ae3f7ec048fbc359b6dbff0dbfdcc033f301ff58c097755a27",
"implementations": [
"base:0xbEb5Fc579115071764c7423A4f12eDde41f106Ed"
]
}
],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Base Governance Multisig - L2 Alias",
"upgradableBy": [
{
"id": "Base-Governance-Multisig---L2-Alias",
"name": "Base Governance Multisig - L2 Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x4200000000000000000000000000000000000021#code"
}
]
},
"escrows": [
{
"address": "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"sinceTimestamp": 1686793895,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686793919,
"transactionHash": "0xad5179152fdbe7ca60a41fd5a490add905e567c59e6630a7856a379759939a8e",
"implementations": [
"eth:0x5FB30336A8d0841cf15d452afA297cB6D10877D7"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1719592367,
"transactionHash": "0xb690dad4829ca8b07b6944d7e937d7d36048ea29a9278cbae012ab4a66aac817",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1730302883,
"transactionHash": "0x2476bda1e2cc0f2a501876532cacf1d267fc9be8f07271b75e512e3b6c927639",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1744214879,
"transactionHash": "0x0351fede2eca409c36da1996944ef02aabaa989637ca1bfacd2f3f07547d1134",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1745512871,
"transactionHash": "0xfd06079372fea0ef0c8907b71931fc6907cc88c39f0dc036d3ebf267686fb6da",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1759862579,
"transactionHash": "0x98ef4f3ecc10996b184385bd4ca5b877dce0a3b527d88f4ee0cfe296cf004a38",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1764604703,
"transactionHash": "0x9b9aa2d8e857e1a28e55b124e931eac706b3ae04c1b33ba949f0366359860993",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1770742199,
"transactionHash": "0x7407256ae44170125b2d82c71f0d03cb6ade3c2268e8cd33dcb07fe259fbfd0b",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
{
"timestamp": 1779825599,
"transactionHash": "0x75b1c9b2090ba2b311d6be08c319340b87dc1aabfae2505d126e7a0f1fc6b11c",
"implementations": [
"eth:0x66d94eE8F529b683ED6013729784e8bb44697A64"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x49048044D57e1C92A77f79988d21Fa8fAF74E97e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"sinceTimestamp": 1686793895,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"rsETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x3154Cf16ccdb4C6d922629664174b904d80F2C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3154Cf16ccdb4C6d922629664174b904d80F2C35#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"sinceTimestamp": 1695935315,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9de443AdC5A411E83F1878Ef24C3F52C61571e72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1695935315,
"transactionHash": "0xac8580fdfdbb35af667cf9c5c5fa9d10c793486d10fcbea538efd9386b04c106",
"implementations": [
"eth:0x313819736457910aC1Dd21a712a37f3d7595645A"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x9de443AdC5A411E83F1878Ef24C3F52C61571e72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"sinceTimestamp": 1728571115,
"tokens": [
"USDS",
"sUSDS"
],
"contract": {
"isVerified": true,
"address": "eth:0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for USDS and sUSDS bridged with canonical messaging.",
"url": "https://etherscan.io/address/0x7F311a4D48377030bD810395f4CCfC03bdbe9Ef3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of Base AggregateVerifier",
"programUrl": "https://github.com/base/base/tree/v0.9.1/crates/proof/succinct/programs/aggregation",
"description": "Aggregates range proofs of correct execution for several consecutive sub-ranges of Base L2 blocks.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain v6.1.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up v6.1.0`\n3. Install docker https://docs.docker.com/get-started/get-docker/\n4. Install `lld` (required by the repo's `.cargo/config.toml`)\n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v0.9.1`. Commit hash should be `00e656223f5d2af1b2100351462272b26499f12f`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just succinct build-elfs` to build the range and aggregation SP1 ELFs. Built elfs are placed in `crates/proof/succinct/elf/`.\n4. From the repo root: `just succinct vkeys` to print the range and aggregation verification key hashes.",
"hash": "0x003147cde8e7d519d3dbae6b76f1198a70d4ff477a3aaea73bee4153f250288a"
},
{
"title": "Range program of Base AggregateVerifier",
"programUrl": "https://github.com/base/base/tree/v0.9.1/crates/proof/succinct/programs/range",
"description": "Proves correct state transition function of the Base rollup over a sub-range of L2 blocks.",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain v6.1.0: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up v6.1.0`\n3. Install docker https://docs.docker.com/get-started/get-docker/\n4. Install `lld` (required by the repo's `.cargo/config.toml`)\n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v0.9.1`. Commit hash should be `00e656223f5d2af1b2100351462272b26499f12f`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just succinct build-elfs` to build the range and aggregation SP1 ELFs. Built elfs are placed in `crates/proof/succinct/elf/`.\n4. From the repo root: `just succinct vkeys` to print the range and aggregation verification key hashes.",
"hash": "0x44f625fa2a41367670d74a7b0d9899412dc1ca406f90df7a5bd9f8ae581ee47f"
},
{
"title": "Set builder program",
"description": "Recursively verifies a Merkle tree of zk proofs at once, identified by a Merkle Mountain Range root.",
"programUrl": "https://github.com/risc0/risc0-ethereum/tree/v3.0.1/crates/aggregation/guest/set-builder",
"proverSystemProject": "risc0",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct image ID only on linux OS. Steps below were done on Ubuntu 22.04 OS.\n\nPrepare:\n\n1. Install rust: `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`, then `. .cargo/env`.\n2. Install dependency libs `sudo apt-get install build-essential`.\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n4. Install the risc zero toolkit `curl -L https://risczero.com/install | bash`, then `rzup install`.\n\nVerify:\n\n1. Checkout the correct branch in [risc0-ethereum](https://github.com/risc0/risc0-ethereum/tree/main) repo: `git checkout v3.0.1` . Commit hash should be `365e7b2db4f620fa256580c27558d2623362b9ae `.\n2. Make sure docker is running by running `docker ps `.\n3. Set env var to use Risc Zero docker build: `export RISC0_USE_DOCKER=1`.\n4. From the repo root dir: `cargo risczero build --manifest-path crates/aggregation/guest/set-builder/Cargo.toml` to build elf binaries from sources. This command should output correct ImageID.",
"hash": "0x70909b25db0db00f1d4b4016aeb876f53568a3e5a8e6397cb562d79947a02cc9"
},
{
"title": "TEE enclave image hash of Base client",
"programUrl": "https://github.com/base/base/tree/v0.9.0/crates/proof/tee/nitro-enclave",
"description": "TEE image hash of Base L2 node program. AWS Nitro Enclave attestations guarantee that exactly this program was run within a TEE.",
"verificationStatus": "successful",
"verificationSteps": "Regeneration steps below require Linux OS, they will produce a different hash on MacOS.\n\nPrepare:\n\n1. Install docker \n2. Install `just` version `>=1.31.0`: \n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v0.9.2-rc.1`. Commit hash should be `f2579cd48d23163e11174049cdd10834f197e33f`.\n2. Make sure docker is running: `docker ps`.\n3. From the repo root: `just tee build-eif` to build the TEE image in a docker container.\n4. Extract `PCR0` from the build EIF: `just tee describe-eif`\n5. Compute image hash as keccak256 of the PCR0: `cast keccak \"0x\"`, where `PCR0_hex` is taken from the output of the previous step.",
"hash": "0xc9536fb5b1387f30d16f6b95a5a26de352f8056866482bca632f7219896ea74c"
},
{
"title": "AWS Nitro TEE attestation verifier for Base",
"programUrl": "https://github.com/base/base/tree/v0.9.0/crates/proof/tee/nitro-attestation-prover",
"description": "RISC Zero guest program that verifies an AWS Nitro TEE Enclave attestation document.",
"proverSystemProject": "risc0",
"verificationStatus": "successful",
"verificationSteps": "Prepare:\n\n1. Install docker https://docs.docker.com/get-started/get-docker/ and make sure it's running: `docker ps`.\n\nVerify:\n\n1. Checkout the correct tag in [base/base](https://github.com/base/base) repo: `git checkout v0.9.0`. Commit hash should be `0276bb4eb9b3ee37703bd818c8df71e3d31594fb`.\n2. From the repo root, build the builder image (once): `docker build --platform=linux/amd64 -t nitro-guest-builder crates/proof/tee/nitro-attestation-prover/guest`.\n3. From the repo root, build the guest and print the image ID: `docker run --rm --platform=linux/amd64 -v \"$(pwd)\":/build/base nitro-guest-builder verify`.\n4. Compare the printed `Image ID` against this hash.",
"hash": "0x20141665fe40bce01fbcfa0a95c8a1bd750eadbe3f24e06a75571e6fd7a9dc11"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. Upgrades must be approved by 2 parties: the Base Coordinator Multisig and the Base Security Council. There is no delay on upgrades."
}
],
"zkVerifiers": [
"eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2",
"eth:0xf70aBAb028Eb6F4100A24B203E113D94E87DE93C",
"eth:0x2a098988600d87650Fb061FfAff08B97149Fa84D",
"eth:0x20ff7C2Cf391a5F096A2Cc181cb41916680f8E97",
"eth:0xafB31f5b70623CDF4b20Ada3f7230916A5A79df9",
"eth:0x54aCE3ED46529B4d4F3770C8Bad5dDC48717B9bF"
]
}
+1 -1
{
"baseTimestamp": 1781105531,
"baseTimestamp": 1782209652,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+83 -50
+8 -1
[
{
"address": "0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"sinceTimestamp": 1710967859,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xD8056243180C4b56a7d2ccd5df9c2696E1261826"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1774677215,
"transactionHash": "0x4de9fd6572f134dd8b9dd0a9754a288e20c590b65be6434bdcd78af60b9fd05f",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"sinceTimestamp": 1628793901,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+5 -5
{
"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/0xfFF0000000000000000000000000000000000288#code"
},
{
"title": "OptimismPortal2.sol - source code, depositTransaction function",
"url": "https://etherscan.io/address/0x7Cf803296662e8C72A6C1d6450572209aCF7f202#code"
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#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/0x7Cf803296662e8C72A6C1d6450572209aCF7f202#code"
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#code"
},
{
"title": "OptimismPortal2.sol - Etherscan source code, finalizeWithdrawalTransaction function",
"url": "https://etherscan.io/address/0x7Cf803296662e8C72A6C1d6450572209aCF7f202#code"
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#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/0x7Cf803296662e8C72A6C1d6450572209aCF7f202#code"
"url": "https://etherscan.io/address/0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B#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"
}
]
}
],
"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)).",
"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 0s right before the last depth. The maximum clock extension that a top level claim can get is therefore 0s. 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"
}
]
}
]
}
}
+69 -43
{
"addresses": {
"ethereum": [
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x158Fd5715F16Ac1F2Dc959A299B383aAaf9B59EB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303503,
"transactionHash": "0x41b524b2ed6de3f6ec58d8e6508f9f6055ca3cb28a80b98af3213eb285a9fdce",
"implementations": [
"eth:0xfaE274B77BA59f001196689f93E9e73693866f4a"
]
},
{
"timestamp": 1734371939,
"transactionHash": "0x2dd4983dfade963b3da262a0c56b5085ffc5ee2f3046292326568738250b5a42",
"implementations": [
"eth:0xb52F8f5D1285e3bc13F9C53D27C6F7336a3B50A9"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1774677215,
"transactionHash": "0x4de9fd6572f134dd8b9dd0a9754a288e20c590b65be6434bdcd78af60b9fd05f",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig\n * **batcherHash**: EOA 1\n * **owner**: EOA 2",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x158Fd5715F16Ac1F2Dc959A299B383aAaf9B59EB#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xD8056243180C4b56a7d2ccd5df9c2696E1261826"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1774677215,
"transactionHash": "0x4de9fd6572f134dd8b9dd0a9754a288e20c590b65be6434bdcd78af60b9fd05f",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0xF45a5f1e36fCeA3Cc830A98c6c3C5ceA7d6af852",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750459247,
"transactionHash": "0x819e7ecb38b78c234172149bd1ba343a8fb2d7434f3f14520624e7e7abcbcfbb",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF45a5f1e36fCeA3Cc830A98c6c3C5ceA7d6af852#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x996ffD627901f10C80A7d4B72A12316D2e77c076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xe4e0f760409EB1661db76a4365c0803C3630270f"
]
},
{
"timestamp": 1713549935,
"transactionHash": "0x4279b4a359b1d5abd672f9e7ee1923b9de372cce4077c2e673f3967b092e64cc",
"implementations": [
"eth:0x862E8e466ac49c1B076322AabCd4156326C47890"
]
},
{
"timestamp": 1713549935,
"transactionHash": "0x4279b4a359b1d5abd672f9e7ee1923b9de372cce4077c2e673f3967b092e64cc",
"implementations": [
"eth:0xe4e0f760409EB1661db76a4365c0803C3630270f"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig\n * **guardian**: Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x996ffD627901f10C80A7d4B72A12316D2e77c076#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x6D4528d192dB72E282265D6092F4B872f9Dff69e",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1628792646,
"transactionHash": "0xabf5ff59333cfb575404834e68633fd81c77ff85d6d6f9983e29140ebdf805f4",
"implementations": [
"eth:0x25109139f8C4F9f7b4E4d5452A067feaE3a537F3"
]
},
{
"timestamp": 1633462522,
"transactionHash": "0x9ba695c4025241f04617877232a4cf86d9ccc1783a693cfe661784c7f89c8050",
"implementations": [
"eth:0xae6b041f0550EDeF61a70F76f89c77B2b1Ef38Fd"
]
},
{
"timestamp": 1635387333,
"transactionHash": "0xa7c1696ee1da04699ec29609eb9c645e327a590ad21ff4a8cf16a9671719bec9",
"implementations": [
"eth:0x12Acf6E3ca96A60fBa0BBFd14D2Fe0EB6ae47820"
]
},
{
"timestamp": 1713303503,
"transactionHash": "0x41b524b2ed6de3f6ec58d8e6508f9f6055ca3cb28a80b98af3213eb285a9fdce",
"implementations": [
"eth:0x0000000000000000000000000000000000000000"
]
},
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0x3b48597212f2622511585914CC4D4152c9B1B077"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1774677215,
"transactionHash": "0x4de9fd6572f134dd8b9dd0a9754a288e20c590b65be6434bdcd78af60b9fd05f",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6D4528d192dB72E282265D6092F4B872f9Dff69e#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xA6Ad22bb0E73DEF40a24E510cFbc93807d8bf87e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0x99948157F4702B3EE9De4290C3dCDF2622Db9318"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1774677215,
"transactionHash": "0x4de9fd6572f134dd8b9dd0a9754a288e20c590b65be6434bdcd78af60b9fd05f",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA6Ad22bb0E73DEF40a24E510cFbc93807d8bf87e#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x38073f4D9100908e35Ca6D85595d78c4EAC3a4B1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x38073f4D9100908e35Ca6D85595d78c4EAC3a4B1#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x4d898F66327Fa050131A17ed17a39EBeCC81f0c3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xd080A33E651780cD6f52F16020E1FFA04F0f15B2"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d898F66327Fa050131A17ed17a39EBeCC81f0c3#code"
},
{
"name": "MIPS",
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"address": "eth:0x58bf355C5d4EdFc723eF89d99582ECCfd143266A",
"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": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
"url": "https://etherscan.io/address/0x58bf355C5d4EdFc723eF89d99582ECCfd143266A#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Boba Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x7e021d19C9949109919DCb522df6BaeC1D6638a6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Boba Multisig",
"upgradableBy": [
{
"name": "Boba Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7e021d19C9949109919DCb522df6BaeC1D6638a6#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xae0949CDd54660Cfc985EC9DEb091eD63ae98670",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xae0949CDd54660Cfc985EC9DEb091eD63ae98670#code"
}
]
},
"escrows": [
{
"address": "0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"sinceTimestamp": 1710967859,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713303527,
"transactionHash": "0x1361f48fea8fbc08ffbc0877f540635a35dffe6560829923443c70702232197d",
"implementations": [
"eth:0xD8056243180C4b56a7d2ccd5df9c2696E1261826"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1750959851,
"transactionHash": "0x16c5c38924fec5dec9d29456865565cc83ea72f1551a7f5c4fdb5b82fe744d0a",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1773686183,
"transactionHash": "0x5b60a86783e3b49210eb4badbfd7032b33cf0ca6e147a86422c3159742b945d0",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1774677215,
"transactionHash": "0x4de9fd6572f134dd8b9dd0a9754a288e20c590b65be6434bdcd78af60b9fd05f",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1777917431,
"transactionHash": "0x414821f167bab34013197c69b5592b1eff7280d97b96f4b1d8b6002ea9d9d9eb",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1779389675,
"transactionHash": "0x5913ef62a245ac8220a38c8be65227ca90fa4d1bebfe8aa4e2ca9c2df9a3b7c7",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1780420307,
"transactionHash": "0xbb91d07f76f6b4f9e6d536329fe67efc6d26be58d0e5f9505d338b60225cd1ea",
"implementations": [
"eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7B02D13904D8e6E0f0Efaf756aB14Cb0FF21eE7e#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"sinceTimestamp": 1628793901,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6e598cec2701FfAA3c06175dc3Af0317a749a0Dc"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xdc1664458d2f0B6090bEa60A8793A4E66c2F1c00#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.8.0-rc.4 (cannon64)",
"title": "OP absolute prestate v1.9.0 (cannon64)",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.8.0-rc.4/op-program",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-program/v1.9.0/op-program",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.8.0-rc.4` . Commit hash should be `94706ec5072b13030600d1b45ae10b673b660c0d`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x03caa1871bb9fe7f9b11217c245c16e4ded33367df5b3ccb2c6d0a847a217d1b"
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.9.0-rc.1` . Commit hash should be `a0c621361db5b5a6dcb60fd8943d485672a076b0`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x033c000916b4a88cfffeceddd6cf0f4be3897a89195941e5a7c3f8209b4dbb6e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1779715460,
"baseTimestamp": 1782210040,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+153 -85
+115 -61
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Hashkey Multisig 1",
"name": "Hashkey Multisig 1",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]\n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency \n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency ",
"id": "NXV",
"name": "NXV",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x441F31C4cdf772558D4EA31f3114de59aE145E7c",
"address": "eth:0x3228F00FbFD0e1F4c282601c489664B10932C40f",
"type": "Contract",
"isVerified": true,
"name": "0x441F…5E7c",
"url": "https://etherscan.io/address/0x441F31C4cdf772558D4EA31f3114de59aE145E7c"
"name": "0x3228…C40f",
"url": "https://etherscan.io/address/0x3228F00FbFD0e1F4c282601c489664B10932C40f"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa4e139F57FCE42f5603a3A714c9a6613Ce09B2B6",
"address": "eth:0x18B024f02b7Bd6F3595F49285d5EaD0880b00338",
"type": "EOA",
"isVerified": true,
"name": "0xa4e1…B2B6",
"url": "https://etherscan.io/address/0xa4e139F57FCE42f5603a3A714c9a6613Ce09B2B6"
"name": "0x18B0…0338",
"url": "https://etherscan.io/address/0x18B024f02b7Bd6F3595F49285d5EaD0880b00338"
},
{
"address": "eth:0x01D94b8F6b0da7f14D36d660EC0E746ed877151c",
"address": "eth:0x6622C53e25cDA3166A76Ff503BBd38ff9DED022A",
"type": "EOA",
"isVerified": true,
"name": "0x01D9…151c",
"url": "https://etherscan.io/address/0x01D94b8F6b0da7f14D36d660EC0E746ed877151c"
"name": "0x6622…022A",
"url": "https://etherscan.io/address/0x6622C53e25cDA3166A76Ff503BBd38ff9DED022A"
},
{
"address": "eth:0x7623aA9B6D2c1a31E96ba47C9Bc07c6051E5189e",
"address": "eth:0xAFf88c51043b2F12fb409B1b0F5e598E867c70A7",
"type": "EOA",
"isVerified": true,
"name": "0x7623…189e",
"url": "https://etherscan.io/address/0x7623aA9B6D2c1a31E96ba47C9Bc07c6051E5189e"
"name": "0xAFf8…70A7",
"url": "https://etherscan.io/address/0xAFf88c51043b2F12fb409B1b0F5e598E867c70A7"
},
{
"address": "eth:0x2381D617547521a633022F12fbFd35F4128F0d06",
"address": "eth:0xC00d88Eb202869FF412F95811AA95D55cB3B9d47",
"type": "EOA",
"isVerified": true,
"name": "0x2381…0d06",
"url": "https://etherscan.io/address/0x2381D617547521a633022F12fbFd35F4128F0d06"
"name": "0xC00d…9d47",
"url": "https://etherscan.io/address/0xC00d88Eb202869FF412F95811AA95D55cB3B9d47"
},
{
"address": "eth:0xa31d8CDDf0D931Dfda2C9D03E35bd8b5d3A6aEC9",
"address": "eth:0xd1E15028fe575AD2D8F6d7bd1CB22589dFA68fbe",
"type": "EOA",
"isVerified": true,
"name": "0xa31d…aEC9",
"url": "https://etherscan.io/address/0xa31d8CDDf0D931Dfda2C9D03E35bd8b5d3A6aEC9"
"name": "0xd1E1…8fbe",
"url": "https://etherscan.io/address/0xd1E15028fe575AD2D8F6d7bd1CB22589dFA68fbe"
}
],
"discoveryDrivenData": true
},
{
"id": "Hashkey Multisig 3",
"name": "Hashkey Multisig 3",
"id": "NXV",
"name": "NXV",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3",
"address": "eth:0x391832Fb1884E6772Dbd9f24cE2db35E9B20B696",
"type": "Contract",
"isVerified": true,
"name": "0x29Fb…12F3",
"url": "https://etherscan.io/address/0x29Fbda675Fa5a07B621C2C1a6E3F874C14F612F3"
"name": "0x3918…B696",
"url": "https://etherscan.io/address/0x391832Fb1884E6772Dbd9f24cE2db35E9B20B696"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xfC8013c385d625f03B32d7b140593603CE9A870E",
"address": "eth:0x0dE9FA3e6d10665E2896565D34FB6Cb69041987A",
"type": "EOA",
"isVerified": true,
"name": "0xfC80…870E",
"url": "https://etherscan.io/address/0xfC8013c385d625f03B32d7b140593603CE9A870E"
"name": "0x0dE9…987A",
"url": "https://etherscan.io/address/0x0dE9FA3e6d10665E2896565D34FB6Cb69041987A"
},
{
"address": "eth:0x936916b961bCB3899a0A5c900d4e4856462C3052",
"address": "eth:0x0Fa31E74FdE71D75bbA7f31df6466fCd825e780D",
"type": "EOA",
"isVerified": true,
"name": "0x9369…3052",
"url": "https://etherscan.io/address/0x936916b961bCB3899a0A5c900d4e4856462C3052"
"name": "0x0Fa3…780D",
"url": "https://etherscan.io/address/0x0Fa31E74FdE71D75bbA7f31df6466fCd825e780D"
},
{
"address": "eth:0xC10499Cdb8102229ED191b9637175e846e1E5824",
"address": "eth:0x19a3A4a6602C978A5b93d4Fcfc0acB883eD0d0BD",
"type": "EOA",
"isVerified": true,
"name": "0xC104…5824",
"url": "https://etherscan.io/address/0xC10499Cdb8102229ED191b9637175e846e1E5824"
"name": "0x19a3…d0BD",
"url": "https://etherscan.io/address/0x19a3A4a6602C978A5b93d4Fcfc0acB883eD0d0BD"
},
{
"address": "eth:0xfF57AA0CC7A727FF219673Cf329C05945685c0f2",
"address": "eth:0x7015251A3D3F5A517072FA4a01FCc028aad9A5b1",
"type": "EOA",
"isVerified": true,
"name": "0xfF57…c0f2",
"url": "https://etherscan.io/address/0xfF57AA0CC7A727FF219673Cf329C05945685c0f2"
"name": "0x7015…A5b1",
"url": "https://etherscan.io/address/0x7015251A3D3F5A517072FA4a01FCc028aad9A5b1"
},
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"address": "eth:0xcd2BD074bBd6433b9D46006483e06fe98127A93A",
"type": "EOA",
"isVerified": true,
"name": "0xa8AC…6dD7",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
"name": "0xcd2B…A93A",
"url": "https://etherscan.io/address/0xcd2BD074bBd6433b9D46006483e06fe98127A93A"
}
],
"discoveryDrivenData": true
},
{
"id": "Hashkey Multisig 2",
"name": "Hashkey Multisig 2",
"id": "NXV",
"name": "NXV",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SuperchainConfig\n * 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:0xC7fCbE26c1Db751d63869F72F782a56710f6be5A",
"address": "eth:0x6F2b20996ADAf3ae64Da901A67f659C2c48f66C9",
"type": "Contract",
"isVerified": true,
"name": "0xC7fC…be5A",
"url": "https://etherscan.io/address/0xC7fCbE26c1Db751d63869F72F782a56710f6be5A"
"name": "0x6F2b…66C9",
"url": "https://etherscan.io/address/0x6F2b20996ADAf3ae64Da901A67f659C2c48f66C9"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x892Aa95AD0b733A72e2f3F5EB20d5314CBBbD180",
"address": "eth:0x2d462d0B23F6F510769252ADdEBa31743b0a1569",
"type": "EOA",
"isVerified": true,
"name": "0x892A…D180",
"url": "https://etherscan.io/address/0x892Aa95AD0b733A72e2f3F5EB20d5314CBBbD180"
"name": "0x2d46…1569",
"url": "https://etherscan.io/address/0x2d462d0B23F6F510769252ADdEBa31743b0a1569"
},
{
"address": "eth:0x51a3d95b25d932026c435527ff2Bee2E12b796Cf",
"address": "eth:0x3B5a39dA4E87d49416D8676190cC1f1dc8884661",
"type": "EOA",
"isVerified": true,
"name": "0x51a3…96Cf",
"url": "https://etherscan.io/address/0x51a3d95b25d932026c435527ff2Bee2E12b796Cf"
"name": "0x3B5a…4661",
"url": "https://etherscan.io/address/0x3B5a39dA4E87d49416D8676190cC1f1dc8884661"
},
{
"address": "eth:0xc36B2F7D3e7996C80086AF5adee5BbF91082D570",
"address": "eth:0x4fe176bd3F4C948dbC2cddb6bd85bDC04Eae1c6D",
"type": "EOA",
"isVerified": true,
"name": "0xc36B…D570",
"url": "https://etherscan.io/address/0xc36B2F7D3e7996C80086AF5adee5BbF91082D570"
"name": "0x4fe1…1c6D",
"url": "https://etherscan.io/address/0x4fe176bd3F4C948dbC2cddb6bd85bDC04Eae1c6D"
},
{
"address": "eth:0xd1E15028fe575AD2D8F6d7bd1CB22589dFA68fbe",
"address": "eth:0xDfA1C539cAb9376bC2eCcA795BC797EDC196dC1F",
"type": "EOA",
"isVerified": true,
"name": "0xd1E1…8fbe",
"url": "https://etherscan.io/address/0xd1E15028fe575AD2D8F6d7bd1CB22589dFA68fbe"
"name": "0xDfA1…dC1F",
"url": "https://etherscan.io/address/0xDfA1C539cAb9376bC2eCcA795BC797EDC196dC1F"
},
{
"address": "eth:0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7",
"address": "eth:0xfF57AA0CC7A727FF219673Cf329C05945685c0f2",
"type": "EOA",
"isVerified": true,
"name": "0xa8AC…6dD7",
"url": "https://etherscan.io/address/0xa8AC7D03BEb92Fa3E6030AEB21629D00Ffb66dD7"
"name": "0xfF57…c0f2",
"url": "https://etherscan.io/address/0xfF57AA0CC7A727FF219673Cf329C05945685c0f2"
}
],
"discoveryDrivenData": true
},
{
"id": "Hashkey Multisig 1",
"name": "Hashkey Multisig 1",
"description": "A Multisig with 3/5 threshold. \n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency \n* Can interact with DelayedWETH\n * can pull funds from the contract in case of emergency ",
"accounts": [
{
"address": "eth:0x441F31C4cdf772558D4EA31f3114de59aE145E7c",
"type": "Contract",
"isVerified": true,
"name": "0x441F…5E7c",
"url": "https://etherscan.io/address/0x441F31C4cdf772558D4EA31f3114de59aE145E7c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa4e139F57FCE42f5603a3A714c9a6613Ce09B2B6",
"type": "EOA",
"isVerified": true,
"name": "0xa4e1…B2B6",
"url": "https://etherscan.io/address/0xa4e139F57FCE42f5603a3A714c9a6613Ce09B2B6"
},
{
"address": "eth:0x01D94b8F6b0da7f14D36d660EC0E746ed877151c",
"type": "EOA",
"isVerified": true,
"name": "0x01D9…151c",
"url": "https://etherscan.io/address/0x01D94b8F6b0da7f14D36d660EC0E746ed877151c"
},
{
"address": "eth:0x7623aA9B6D2c1a31E96ba47C9Bc07c6051E5189e",
"type": "EOA",
"isVerified": true,
"name": "0x7623…189e",
"url": "https://etherscan.io/address/0x7623aA9B6D2c1a31E96ba47C9Bc07c6051E5189e"
},
{
"address": "eth:0x2381D617547521a633022F12fbFd35F4128F0d06",
"type": "EOA",
"isVerified": true,
"name": "0x2381…0d06",
"url": "https://etherscan.io/address/0x2381D617547521a633022F12fbFd35F4128F0d06"
},
{
"address": "eth:0xa31d8CDDf0D931Dfda2C9D03E35bd8b5d3A6aEC9",
"type": "EOA",
"isVerified": true,
"name": "0xa31d…aEC9",
"url": "https://etherscan.io/address/0xa31d8CDDf0D931Dfda2C9D03E35bd8b5d3A6aEC9"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x5e70713222FaF60c9e9fB69240D06ae6D688563A",
"type": "EOA",
"isVerified": true,
"name": "0x5e70…563A",
"url": "https://etherscan.io/address/0x5e70713222FaF60c9e9fB69240D06ae6D688563A",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
}
]
}
}
+37 -23
{
"addresses": {
"ethereum": [
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x71442A5586bde0f5EfD6588D01c2B2820D9D236D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347279,
"transactionHash": "0x2127945406db892b80c53ecca4038f8cd8a09bf34609bedab1abbeec104b985e",
"implementations": [
"eth:0x71442A5586bde0f5EfD6588D01c2B2820D9D236D"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"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 NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x04Ec030f362CE5A0b5Fe2d4B4219f287C2EBDE50#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x43F8DeFe3E9286D152E91BB16a248808E7247198",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347135,
"transactionHash": "0x79baffb8228b3b0b6c465fb72f7bf01eac38be1ebbabf54b9b196bd5138b9611",
"implementations": [
"eth:0xbc10fE919504D53953d27989CD5B48B9A7c08Be0"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Hashkey Multisig 3",
"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 NXV\n * **batcherHash**: EOA 1\n * **owner**: NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x43F8DeFe3E9286D152E91BB16a248808E7247198#code"
},
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"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 NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734346751,
"transactionHash": "0x1dcf3f8b738b3dfa3a01a25f98c6d34364a7f72bc076d559a3871b732b27cccd",
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
},
{
"timestamp": 1779688283,
"transactionHash": "0x3bfc8a22ff71232436c67628de837c36002264a5dfbc55b38b957f5ba471538c",
"implementations": [
"eth:0x3a6CBE32Ed9E11662362400C293485109bdF2CcC"
]
},
{
"timestamp": 1779688283,
"transactionHash": "0x3bfc8a22ff71232436c67628de837c36002264a5dfbc55b38b957f5ba471538c",
"implementations": [
"eth:0x1d31a15050DBE75c6c060D6da696332a5CB943e1"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1\n * **guardian**: Hashkey Multisig 2",
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV\n * **guardian**: NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfd1255b6c09D939E7F3896A16C32CDBCD6F8B40A#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x899F07862D3A03F70E07b7f01183934b485d2e97",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x21971eCC803C30A181ee111803253C869083baF1"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347231,
"transactionHash": "0x18124dec0d690b8070dc4f7a465bd3fa4da20624e726077230504fbe284dd411",
"implementations": [
"eth:0x21971eCC803C30A181ee111803253C869083baF1"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"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 NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x899F07862D3A03F70E07b7f01183934b485d2e97#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xcD8f943e7d506cD92dE582Ac5065dE718E568580"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347171,
"transactionHash": "0x6d78b2810917cff9e25fa59661d3700154876bd1e70ff9887cfc8862eeac2ac9",
"implementations": [
"eth:0xcD8f943e7d506cD92dE582Ac5065dE718E568580"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd4C83D93c6fAE3E0804B785F9Cf465BE95449D04#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0x0407af506d86bFA5e401099b2fC2355590638f19",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x3FAe8259417036C02156DF91BdaF9d8F0ae5551f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347183,
"transactionHash": "0x1d7aab4c1ea1fedbcee0d9b737149bb551b8f621b2fe4ce8222fe3d34359c155",
"implementations": [
"eth:0x3FAe8259417036C02156DF91BdaF9d8F0ae5551f"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"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 NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0407af506d86bFA5e401099b2fC2355590638f19#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x4deC2aA521108d78d983c0c12656c6CF8631F2ED",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xE5a698154470AF2626b27fEecb684F8fb265F2E0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347315,
"transactionHash": "0x471f2f867ef5c389027fcb43bb83162a2aa4af482029a0f4c45c3db2765b0134",
"implementations": [
"eth:0xE5a698154470AF2626b27fEecb684F8fb265F2E0"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1",
"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 NXV",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4deC2aA521108d78d983c0c12656c6CF8631F2ED#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5B9bEf4d8C36FB013c70d0A6F455807c6BD5270b#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x7447b25b91336127042CC6899B2C15668a1Ab8BA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7447b25b91336127042CC6899B2C15668a1Ab8BA#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Hashkey Multisig 1",
"description": "* Roles:\n * **owner**: NXV",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7986eD289935A0F47FC434C00cDE309fE2c51f1C#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xBb70D595147A141e268532BFEF61A8c25054d26D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347291,
"transactionHash": "0xe2e1492dc5adea04088b786ca327df8addc15e95b1714c442dc9aee0b96da2ea",
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1\n * **owner**: Hashkey Multisig 1",
"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 NXV\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBb70D595147A141e268532BFEF61A8c25054d26D#code"
},
{
"name": "FaultDisputeGame",
"isVerified": true,
"address": "eth:0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Logic of the dispute game. When a state root is proposed, a dispute game contract is deployed. Challengers can use such contracts to challenge the proposed state root.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC3E7f3606aeAC543bD268a637c6847E92d69B8aA#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347303,
"transactionHash": "0x7ac81f23f33c8fd25cb3c9bb918ced8f032989fdfdbfd98c7ac23f1735ae397f",
"implementations": [
"eth:0xB8566D805b8DD2E2EC41542A2dc4Af96855f75d8"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Hashkey Multisig 1\n * **owner**: Hashkey Multisig 1",
"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 NXV\n * **owner**: Hashkey Multisig 1",
"upgradableBy": [
{
"name": "Hashkey Multisig 1",
"name": "NXV",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd9c31D15f2c649e525C2574bC025b3CAafAaf6fe#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xE38135e20BA018a5542C83De258d80d6883Da8A3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE38135e20BA018a5542C83De258d80d6883Da8A3#code"
}
]
},
"escrows": [
{
"address": "0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"sinceTimestamp": 1734346799,
"tokens": [
"ETH",
"HSK"
],
"contract": {
"isVerified": true,
"address": "eth:0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734347111,
"transactionHash": "0xa75dfc34e3c0c1cc441a5b6de207082bc8f639d7fc3d65558344b0f92785ac32",
"implementations": [
"eth:0x18A7868ECe35A45aC9138108E5b6e021aD1038d1"
]
}
],
"description": "Main entry point for users depositing ETH, HSK.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xe7Aa79B59CAc06F9706D896a047fEb9d3BDA8bD3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"sinceTimestamp": 1734346823,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7986eD289935A0F47FC434C00cDE309fE2c51f1C"
],
"implementations": [
"eth:0x4634e74d04992BDd5192Cd75897CbD432971aAB6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x2171E6d3B7964fA9654Ce41dA8a8fFAff2Cc70be#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "OP absolute prestate v1.3.1",
"description": "A commitment to the initial state of the OP stack fault proof program.",
"programUrl": "https://github.com/ethereum-optimism/optimism/tree/op-node/v1.3.1/op-program",
"verificationStatus": "successful",
"verificationSteps": "Steps are based on [this guide](https://docs.optimism.io/chain-operators/tutorials/absolute-prestate).\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running.\n2. Check out the correct branch of [optimism](https://github.com/ethereum-optimism/optimism) repo: `git checkout op-program/v1.3.1` . Commit hash should be `e3c2f046c2d7103c765cbd47e949a284e511a47d`.\n3. Regenerate the absolute prestate: `make reproducible-prestate`. This script will print out the correct hash.",
"hash": "0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1772626589,
"baseTimestamp": 1782210335,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1780925494,
"baseTimestamp": 1782209813,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}