3501d147 (main)
and
77b66631 (PR)
+65 -45
+60 -40
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Governance",
"name": "Governance",
"accounts": [
{
"address": "eth:0x8253F33026c49A430963FE3991441c02175bda95",
"type": "Contract",
"isVerified": true,
"name": "0x8253…da95",
"url": "https://etherscan.io/address/0x8253F33026c49A430963FE3991441c02175bda95"
}
],
"chain": "ethereum",
"description": "Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.\n* Can upgrade **with no delay**\n * ZKsyncOSChainTypeManager [via: ProxyAdmin]\n * L1NativeTokenVault [via: ProxyAdmin]\n * L1Nullifier [via: ProxyAdmin]\n * L1MessageRoot [via: ProxyAdmin]\n * BridgeHub [via: ProxyAdmin]\n * L1ChainAssetHandler [via: ProxyAdmin]\n * CTMDeploymentTracker [via: ProxyAdmin]\n * ValidatorTimelock [via: ProxyAdmin]\n * L1AssetRouter [via: ProxyAdmin]\n* Can interact with ZKsyncOSChainTypeManager\n * manage the shared ValidatorTimelock contract address and the admin role, register and execute upgrades (and set their deadlines), freeze, revert batches and set permissioned validators and fee params for all connected chains \n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) \n* Can interact with BridgeHub\n * set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration ",
"discoveryDrivenData": true
},
{
"id": "ADI Multisig 2",
"name": "ADI Multisig 2",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: ChainAdminOwnable → ProxyAdmin]\n* Can interact with ZKsyncOSChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: ChainAdminOwnable]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: ChainAdminOwnable]",
"accounts": [
{
"address": "eth:0xB272B188855128c10a933Edb62CC64c22B1f3754",
"type": "Contract",
"isVerified": true,
"name": "0xB272…3754",
"url": "https://etherscan.io/address/0xB272B188855128c10a933Edb62CC64c22B1f3754"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9",
"type": "EOA",
"isVerified": true,
"name": "0x2e48…9Dc9",
"url": "https://etherscan.io/address/0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9"
},
{
"address": "eth:0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE",
"type": "EOA",
"isVerified": true,
"name": "0x3740…1ecE",
"url": "https://etherscan.io/address/0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE"
},
{
"address": "eth:0x288c18627a5d15a380B5d3f8A78667D543A066A9",
"type": "EOA",
"isVerified": true,
"name": "0x288c…66A9",
"url": "https://etherscan.io/address/0x288c18627a5d15a380B5d3f8A78667D543A066A9"
}
],
"discoveryDrivenData": true
},
{
"id": "ADI Multisig 1",
"name": "ADI Multisig 1",
"description": "A Multisig with 2/3 threshold. \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: ChainAdminOwnable]",
"accounts": [
{
"address": "eth:0xF50293Ac52f987122DcD67Eda0cFb34E9d7a0Cf9",
"type": "Contract",
"isVerified": true,
"name": "0xF502…0Cf9",
"url": "https://etherscan.io/address/0xF50293Ac52f987122DcD67Eda0cFb34E9d7a0Cf9"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9",
"type": "EOA",
"isVerified": true,
"name": "0x2e48…9Dc9",
"url": "https://etherscan.io/address/0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9"
},
{
"address": "eth:0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE",
"type": "EOA",
"isVerified": true,
"name": "0x3740…1ecE",
"url": "https://etherscan.io/address/0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE"
},
{
"address": "eth:0x288c18627a5d15a380B5d3f8A78667D543A066A9",
"type": "EOA",
"isVerified": true,
"name": "0x288c…66A9",
"url": "https://etherscan.io/address/0x288c18627a5d15a380B5d3f8A78667D543A066A9"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 1, EOA 2, EOA 3 and EOA 5",
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 3/5 threshold. \n* Can interact with L1NativeTokenVault\n * pause / unpause the bridge \n* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references ",
"accounts": [
{
"address": "eth:0xdE4781a08Cc75D4E1b07fb3909840AE685960711",
"type": "Contract",
"isVerified": true,
"name": "0xdE47…0711",
"url": "https://etherscan.io/address/0xdE4781a08Cc75D4E1b07fb3909840AE685960711"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x97B09eE71e99CeE29C28f92dc1dfD05F695d0Bc8",
"type": "EOA",
"isVerified": true,
"name": "0x97B0…0Bc8",
"url": "https://etherscan.io/address/0x97B09eE71e99CeE29C28f92dc1dfD05F695d0Bc8"
},
{
"address": "eth:0x85A1b4acceD2B34F0735C31FB26dcfc1c9f18ebf",
"type": "EOA",
"isVerified": true,
"name": "0x85A1…8ebf",
"url": "https://etherscan.io/address/0x85A1b4acceD2B34F0735C31FB26dcfc1c9f18ebf"
},
{
"address": "eth:0x17D2e02019e4f52C14E1cA55b612596A1FB39C3b",
"type": "EOA",
"isVerified": true,
"name": "0x17D2…9C3b",
"url": "https://etherscan.io/address/0x17D2e02019e4f52C14E1cA55b612596A1FB39C3b"
},
{
"address": "eth:0x3ABcFe4D76c76DcFbc5c8B369829d061C82A6C14",
"type": "EOA",
"isVerified": true,
"name": "0x3ABc…6C14",
"url": "https://etherscan.io/address/0x3ABcFe4D76c76DcFbc5c8B369829d061C82A6C14"
},
{
"address": "eth:0xA2D803c88D87b0C20c676E7C060f830449B43795",
"type": "EOA",
"isVerified": true,
"name": "0xA2D8…3795",
"url": "https://etherscan.io/address/0xA2D803c88D87b0C20c676E7C060f830449B43795"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-4",
"name": "EOA 1, EOA 2, EOA 3 and EOA 4",
"accounts": [
{
"address": "eth:0x0b6f2116323C12EE731de6818e41861561bcd44C",
"type": "EOA",
"isVerified": true,
"name": "0x0b6f…d44C",
"url": "https://etherscan.io/address/0x0b6f2116323C12EE731de6818e41861561bcd44C",
"displayName": "EOA 1"
},
{
"address": "eth:0x37eEE7f0472F0740EAf152A3f5e888f7C5f62e51",
"type": "EOA",
"isVerified": true,
"name": "0x37eE…2e51",
"url": "https://etherscan.io/address/0x37eEE7f0472F0740EAf152A3f5e888f7C5f62e51",
"displayName": "EOA 2"
},
{
"address": "eth:0x6090e365149d005517e2013926cD18d767f04Aa1",
"type": "EOA",
"isVerified": true,
"name": "0x6090…4Aa1",
"url": "https://etherscan.io/address/0x6090e365149d005517e2013926cD18d767f04Aa1",
"displayName": "EOA 3"
},
{
"address": "eth:0xF8fF3e62E94807a5C687f418Fe36942dD3a24524",
"type": "EOA",
"isVerified": true,
"name": "0xF8fF…4524",
"url": "https://etherscan.io/address/0xF8fF3e62E94807a5C687f418Fe36942dD3a24524",
"displayName": "EOA 5"
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with ValidatorTimelock\n * call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the ADI Diamond contract ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"id": "EOA-5",
"name": "EOA 5",
"accounts": [
{
"address": "eth:0xb63320480218fbC7Cc31c3f92C254D4732528985",
"type": "EOA",
"isVerified": true,
"name": "0xb633…8985",
"url": "https://etherscan.io/address/0xb63320480218fbC7Cc31c3f92C254D4732528985",
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references ",
"discoveryDrivenData": true
},
{
"id": "EOA-6",
"name": "EOA 6",
"accounts": [
{
"address": "eth:0x5CcF89Ba204457129E6250B2570d77DbA790366a",
"type": "EOA",
"isVerified": true,
"name": "0x5CcF…366a",
"url": "https://etherscan.io/address/0x5CcF89Ba204457129E6250B2570d77DbA790366a",
"displayName": "EOA 6"
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with ChainAdminOwnable\n * set the conversion factor for gas token deposits ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0x59Be28DE6eFb1f78802E96188d2b7907059Be59f",
"type": "EOA",
"isVerified": true,
"name": "0x59Be…e59f",
"url": "https://etherscan.io/address/0x59Be28DE6eFb1f78802E96188d2b7907059Be59f",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can interact with L1NativeTokenVault\n * pause / unpause the bridge ",
"discoveryDrivenData": true
}
]
}
}
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x0583Ef2B6416cb7B287406438B940E4d99680C5B",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1768899023,
"transactionHash": "0x5a347ad3e11919a37fd5cc2e3f933678ebbbf11b6bcd4f2e1cf6f9f80b6e7462",
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
]
},
{
"timestamp": 1770285503,
"transactionHash": "0x3837cd476c7e8b1131d519f1dd8aed9cb1fbd779716260b0ff79196520f81b21",
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
]
},
{
"timestamp": 1775673407,
"transactionHash": "0x4428eb3c0a1be76b850c3a1cd744087320aa49dfa2304311ed0579c10ec1e568",
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x8991bF7Ed45ad2B8352efbaB83aD6e00c056a61c"
]
},
{
"timestamp": 1775739935,
"transactionHash": "0x08471063fd03e8dacd215a9c030f4c54a0f002c778a9a8283bc5161efae20e39",
"implementations": [
"eth:0xf9DD56364E3878056654C756cEBA692e577f8466",
"eth:0xB0D33d94aD4048070f510eF0086F12d20595dd07",
"eth:0xFA565846c217Bc0bA0f75027D4eECccdD68a9708",
"eth:0x56767eB2E3197A1dfa030faaD4A65cF38E807c81"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdminOwnable; ultimately ADI Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0583Ef2B6416cb7B287406438B940E4d99680C5B#code"
},
{
"name": "ZKsyncOSChainTypeManager",
"isVerified": true,
"address": "eth:0x08A1D2962fC29AA46e869A1E7561112cc1026EfA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x721e27269ce348F71bdAAd7B7b033Afa60e404e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764062063,
"transactionHash": "0xa5b440f6a0256100dac3d76a00374198366113b10688034f6b014b247a31cee4",
"implementations": [
"eth:0x191D1D51a9CBe988E69ad3D27eFab60663e5ed61"
]
},
{
"timestamp": 1768897787,
"transactionHash": "0x9443189514311b66d96da238adb1a18e3043616a45b62a6e99cd6f64b5996e81",
"implementations": [
"eth:0x721e27269ce348F71bdAAd7B7b033Afa60e404e0"
]
}
],
"description": "[FORK] This contract is not the standard hub contract from the Elastic network but a local fork for ADI chain. Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,30,1.\n* Roles:\n * **admin**: ChainAdminOwnable, ProxyAdmin; ultimately ADI Multisig 2, Governance\n * **owner**: Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08A1D2962fC29AA46e869A1E7561112cc1026EfA#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0x57B05e2394B3A12708C552A891f8b0f93645EdEA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA validators for different data availability modes. Scheme 3 is used by default RollupL1DAValidator, the commitment includes EIP-4844 blobs data. Scheme 4 is used only for ZKsyncOS, it is keccak of blob versioned hashes filled with pubdata.\n* Roles:\n * **owner**: Governance",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57B05e2394B3A12708C552A891f8b0f93645EdEA#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0x5E5a72077dFB354Dfe61200b8f31fa491F9B9Cea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x64E12498Afe66FAD714417E3fA7824E67189b31d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0xc8f25c8c05512ee3427467c81af5e2b8374ce4cd605988d6a7079bc98438c451",
"implementations": [
"eth:0x64E12498Afe66FAD714417E3fA7824E67189b31d"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: EOA 4",
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: Safe",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5E5a72077dFB354Dfe61200b8f31fa491F9B9Cea#code"
},
{
"name": "L1MessageRoot",
"isVerified": true,
"address": "eth:0x783e8Cb57366888F84d815fd53c3aeE99b2d6d37",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x5BaC331B75f3bF88148bfb0be2a76be4FBb05417"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x20dedea6ad2da50130929c575615065d3842ab03ead9c9038f2e649172a2b94f",
"implementations": [
"eth:0x5BaC331B75f3bF88148bfb0be2a76be4FBb05417"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x783e8Cb57366888F84d815fd53c3aeE99b2d6d37#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x7a38c18a229Ef8a0AE7104Ba272A46280f2d59Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0xcf1c73439c85f7eB9d4439dAf398Fd6392d176E6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x24b5555ead6371a88f4727edf42d0a2d07901ce8b698fe2e999feebde6dd3fbe",
"implementations": [
"eth:0xcf1c73439c85f7eB9d4439dAf398Fd6392d176E6"
]
}
],
"description": "[FORK] This contract is not the standard hub contract from the Elastic network but a local fork for ADI chain. The main registry (hub) for chain contracts (supports more than ADI chain) and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: ChainAdminOwnable, ProxyAdmin; ultimately ADI Multisig 2, Governance\n * **owner**: Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7a38c18a229Ef8a0AE7104Ba272A46280f2d59Cb#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0xaCD4a320f8a45abE71756B85DF519201d041EA5f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0xB3AE8d7a583278C25faD1714F342AE284046fEa4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0xe48b3a261a691f2d2fbdfe9226d0c5a2bd4900493b790aa1cd97544d35856cfd",
"implementations": [
"eth:0xB3AE8d7a583278C25faD1714F342AE284046fEa4"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCD4a320f8a45abE71756B85DF519201d041EA5f#code"
},
{
"name": "ValidatorTimelock",
"isVerified": true,
"address": "eth:0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x6CB28384f21B18924FA312AA2E10D4E813e66263"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764061739,
"transactionHash": "0x3495b74edc718006ba1b887dadf4fcf2fa6aaafa16a9b38dfe35234fa4f5177b",
"implementations": [
"eth:0x406f329645E323B1bd1C020a219e30E6DAf4f899"
]
},
{
"timestamp": 1768897787,
"transactionHash": "0x9443189514311b66d96da238adb1a18e3043616a45b62a6e99cd6f64b5996e81",
"implementations": [
"eth:0x6CB28384f21B18924FA312AA2E10D4E813e66263"
]
}
],
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 0s.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **validatorVTL**: EOA 1, EOA 2, EOA 3, EOA 5",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 0s.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **validatorVTL**: EOA 1, EOA 2, EOA 3, EOA 4",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x0a8a2473cc5731575a94f58F470851Bc6695B5B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets ADI Multisig 1 act through it.\n* Roles:\n * **owner**: ADI Multisig 1\n * **tokenMultiplierSetter**: EOA 6",
"description": "A governance proxy that lets ADI Multisig 1 act through it.\n* Roles:\n * **owner**: ADI Multisig 1\n * **tokenMultiplierSetter**: EOA 5",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0a8a2473cc5731575a94f58F470851Bc6695B5B8#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x2d6E82F1f8fba89a67cc8d742B12633db4732Ca7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets ADI Multisig 2 act through it.\n* Roles:\n * **owner**: ADI Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2d6E82F1f8fba89a67cc8d742B12633db4732Ca7#code"
},
{
"name": "L1ERC20Bridge",
"isVerified": true,
"address": "eth:0xfA8B5EA9b8d36a72Eb0ba66Cc7aBc83d9deeC3B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Legacy bridge for depositing ERC20 tokens to ADI Chain.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfA8B5EA9b8d36a72Eb0ba66Cc7aBc83d9deeC3B8#code"
},
{
"name": "ZKsyncOSVerifierPlonk",
"isVerified": true,
"address": "eth:0x08513A4646d1Bc8c348C67A3680bb19626E7F13F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x08513A4646d1Bc8c348C67A3680bb19626E7F13F#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: EOA 7",
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: Safe",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ChainAdminOwnable",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C#code"
},
{
"name": "ZKsyncOSDualVerifier",
"isVerified": true,
"address": "eth:0x5E7cF1C310F9E0BF8DbFe70D5cC8021a2109D0AE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to THE PLONK VERIFIER ONLY depending on the supplied proof version.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5E7cF1C310F9E0BF8DbFe70D5cC8021a2109D0AE#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Governance",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217#code"
},
{
"name": "L1ChainAssetHandler",
"isVerified": true,
"address": "eth:0x924E0145347243a94C5C69e372Ca52c77f8e6CF1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x0C06695f21B118a9A10101D303f00575A566D1A0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x1d89af101c273be6c173849a3f16c585fd26e85eb0e03e10ad2ac72012c9a66d",
"implementations": [
"eth:0x0C06695f21B118a9A10101D303f00575A566D1A0"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x924E0145347243a94C5C69e372Ca52c77f8e6CF1#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xd477bd7f14F9A26ebd51827EFB1d40a41f71b70C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C"
],
"implementations": [
"eth:0xDc64B98F394A8bf980F777631352029C9114e2e6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764061739,
"transactionHash": "0x72192c4f02430295786d5865c815e8e9499e896f37cb49635478d0096cc8b2cc",
"implementations": [
"eth:0xDc64B98F394A8bf980F777631352029C9114e2e6"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ADI Multisig 2",
"upgradableBy": [
{
"name": "ADI Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd477bd7f14F9A26ebd51827EFB1d40a41f71b70C#code"
},
{
"name": "ZKsyncOSVerifierFflonk",
"isVerified": true,
"address": "eth:0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A#code"
},
{
"name": "BlobsL1DAValidatorZKsyncOS",
"isVerified": true,
"address": "eth:0xFB630a206E6D7485cB9DFa929859E1a977F0a211",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DA verifier specifically for zksync OS chains. It keeps track of blob versioned hashes and checks if blob with particular hash was published.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFB630a206E6D7485cB9DFa929859E1a977F0a211#code"
}
]
},
"escrows": [
{
"address": "0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"sinceTimestamp": 1764060407,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Main escrow contract of ADI chain.",
"url": "https://etherscan.io/address/0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0xF6b3708BE4192CE4526c2F87D4c3eABA79230E6A",
"eth:0x08513A4646d1Bc8c348C67A3680bb19626E7F13F"
]
}
+1 -1
{
"baseTimestamp": 1775809516,
"baseTimestamp": 1780586199,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x1CA12290D954CFe022323b6A6Df92113ed6b1C98",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x830D41c5624EE982cddEd92Ba01DAB3a4856116f"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1730186783,
"transactionHash": "0x9aba2d0318b145675916310787cdcc43b3b6d3db2739897a25acd6a8d6280b31",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Gelato Multisig\n * **anyTrustFastConfirmer**: AlephZeroMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately Gelato Multisig\n * **validators**: AlephZeroMultisig, EOA 1, EOA 3, EOA 4, EOA 5, EOA 9; ultimately EOA 1",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1CA12290D954CFe022323b6A6Df92113ed6b1C98#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x41Ec9456AB918f2aBA81F38c03Eb0B93b78E84d9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41Ec9456AB918f2aBA81F38c03Eb0B93b78E84d9#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xb9e6987d1E0936b93f512bC89632E15DcA706d87",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1730186783,
"transactionHash": "0x9aba2d0318b145675916310787cdcc43b3b6d3db2739897a25acd6a8d6280b31",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb9e6987d1E0936b93f512bC89632E15DcA706d87#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xF75206c49c1694594E3e69252E519434f1579876",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **batchPosters**: EOA 10, EOA 2, EOA 6, EOA 7, EOA 8",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF75206c49c1694594E3e69252E519434f1579876#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x830D41c5624EE982cddEd92Ba01DAB3a4856116f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **executors**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x830D41c5624EE982cddEd92Ba01DAB3a4856116f#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x56D8EC76a421063e1907503aDd3794c395256AEb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x56D8EC76a421063e1907503aDd3794c395256AEb#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x73bb50c32a3BD6A1032aa5cFeA048fBDA3D6aF6e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73bb50c32a3BD6A1032aa5cFeA048fBDA3D6aF6e#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xccaF21F002EAF230c9Fa810B34837a3739B70F7B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722261575,
"transactionHash": "0x7d95b8115b846835b6da60e35cc04647b957e35301e9cb72b1d148b26acac93a",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xccaF21F002EAF230c9Fa810B34837a3739B70F7B#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xeBb17f398ed30d02F2e8733e7c1e5cf566e17812",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722261575,
"transactionHash": "0x7d95b8115b846835b6da60e35cc04647b957e35301e9cb72b1d148b26acac93a",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeBb17f398ed30d02F2e8733e7c1e5cf566e17812#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x4e008aEeA79Fcd5708A7b46CA1732dFAf2a25B7d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4e008aEeA79Fcd5708A7b46CA1732dFAf2a25B7d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
}
]
},
"escrows": [
{
"address": "0x41Ec9456AB918f2aBA81F38c03Eb0B93b78E84d9",
"sinceTimestamp": 1722259103,
"tokens": [
"AZERO"
],
"contract": {
"isVerified": true,
"address": "eth:0x41Ec9456AB918f2aBA81F38c03Eb0B93b78E84d9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722259103,
"transactionHash": "0x16528bf78b7d2110129529a7a0435a35b5443e3638f89fb2f917a7c92ef587b9",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows AZERO sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x41Ec9456AB918f2aBA81F38c03Eb0B93b78E84d9#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xccaF21F002EAF230c9Fa810B34837a3739B70F7B",
"sinceTimestamp": 1722261575,
"tokens": "*",
"contract": {
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xccaF21F002EAF230c9Fa810B34837a3739B70F7B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x80622fe04c5e1c3fbb3A9c62996dB27B53E9F77b"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722261575,
"transactionHash": "0x7d95b8115b846835b6da60e35cc04647b957e35301e9cb72b1d148b26acac93a",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.",
"url": "https://etherscan.io/address/0xccaF21F002EAF230c9Fa810B34837a3739B70F7B#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x19a6Ffc45dDe55D93c99114ddC3b277025e5fDf3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x7A78D32F35790f6CaEd435682316C9B4CBB92821"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1746466067,
"transactionHash": "0xefd2885eb865f28ba55d5fc8e63a09b27dd6682fa0aff5cec76b61eb532a3173",
"implementations": [
"eth:0x7A78D32F35790f6CaEd435682316C9B4CBB92821"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19a6Ffc45dDe55D93c99114ddC3b277025e5fDf3#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x69aB55146Bc52A0b31F74dBDc527b8B7e9c7C27c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69aB55146Bc52A0b31F74dBDc527b8B7e9c7C27c#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x6fa8b24c85409A4fcb541c9964766862aA007f39",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xD4972734Ed659c03ca3e476e06Fc6f016397dfD4"
],
"implementations": [
"eth:0x6b07b9841A4496bF029cAd97C50b0A106Fd1C2a1",
"eth:0x33701B6739DdFD9bE63202Fc13f37DFA67Ec1C6B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1746466067,
"transactionHash": "0xefd2885eb865f28ba55d5fc8e63a09b27dd6682fa0aff5cec76b61eb532a3173",
"implementations": [
"eth:0x6b07b9841A4496bF029cAd97C50b0A106Fd1C2a1",
"eth:0x33701B6739DdFD9bE63202Fc13f37DFA67Ec1C6B"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately AlienXMultisig\n * **owner**: UpgradeExecutor; ultimately AlienXMultisig\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6fa8b24c85409A4fcb541c9964766862aA007f39#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xb7d188eb30e7984f93Bec34Ee8b45A148bd594C6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x4642231E4B36e7468EFa3754AEe8e9fdF9Ad86f8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
{
"timestamp": 1746556067,
"transactionHash": "0xdcb4c91abeec5d155255da0fec84a4fd4e9ff79430a98bc418f9ee88daf0e89c",
"implementations": [
"eth:0x4642231E4B36e7468EFa3754AEe8e9fdF9Ad86f8"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb7d188eb30e7984f93Bec34Ee8b45A148bd594C6#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xD4972734Ed659c03ca3e476e06Fc6f016397dfD4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig\n * **executors**: AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD4972734Ed659c03ca3e476e06Fc6f016397dfD4#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x5625d2a46fc582b3e6dE5288D9C5690B20EBdb8D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630163,
"transactionHash": "0xd7b6177a4e6d17be7a14c12889419d2036c4b7142a0d5c0af2171b3dc32d0e79",
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5625d2a46fc582b3e6dE5288D9C5690B20EBdb8D#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x7b0159484f5cb4F3D4bb496A2eD7A01F409e70D1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x23b7734232dA19D2Cf73010a25C8Ffc4eBfc2f5f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1746556067,
"transactionHash": "0xdcb4c91abeec5d155255da0fec84a4fd4e9ff79430a98bc418f9ee88daf0e89c",
"implementations": [
"eth:0x23b7734232dA19D2Cf73010a25C8Ffc4eBfc2f5f"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7b0159484f5cb4F3D4bb496A2eD7A01F409e70D1#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xCA2AA2AA53C2225849Cc711FD472E4D2bFcD634b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCA2AA2AA53C2225849Cc711FD472E4D2bFcD634b#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xeA685ba6f0C3ec5e7891C17CfFBD009EbAdC9E49",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630163,
"transactionHash": "0xd7b6177a4e6d17be7a14c12889419d2036c4b7142a0d5c0af2171b3dc32d0e79",
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeA685ba6f0C3ec5e7891C17CfFBD009EbAdC9E49#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x01c1Be00BA202332a1A9244D2C36f51B8C2aA84b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlienXMultisig",
"upgradableBy": [
{
"name": "AlienXMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x01c1Be00BA202332a1A9244D2C36f51B8C2aA84b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x123C1E324BC742295B4278B41C4E33831C77655C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x123C1E324BC742295B4278B41C4E33831C77655C#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x188299D522A701bDDA1B4c1d6C5687B603D3DD50",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x188299D522A701bDDA1B4c1d6C5687B603D3DD50#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0x783A59456380EF449966aEe3bfb7d2e916d2770B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x783A59456380EF449966aEe3bfb7d2e916d2770B#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x922597A6c219d65A3b96e647644A0412056611b3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x922597A6c219d65A3b96e647644A0412056611b3#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x93F64468FF52Ba8b92ca574284E960EE8E4ecD76",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x93F64468FF52Ba8b92ca574284E960EE8E4ecD76#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0xF855e31B8C51097B0DFbf2147239CB7c471A8431",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF855e31B8C51097B0DFbf2147239CB7c471A8431#code"
}
]
},
"escrows": [
{
"address": "0x69aB55146Bc52A0b31F74dBDc527b8B7e9c7C27c",
"sinceTimestamp": 1717630139,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x69aB55146Bc52A0b31F74dBDc527b8B7e9c7C27c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630139,
"transactionHash": "0x2354475e39b5213a11adcb6975753f0f2ccdf077de37b09e59216b55a2c1fda7",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x69aB55146Bc52A0b31F74dBDc527b8B7e9c7C27c#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5625d2a46fc582b3e6dE5288D9C5690B20EBdb8D",
"sinceTimestamp": 1717630163,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x5625d2a46fc582b3e6dE5288D9C5690B20EBdb8D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x123C1E324BC742295B4278B41C4E33831C77655C"
],
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717630163,
"transactionHash": "0xd7b6177a4e6d17be7a14c12889419d2036c4b7142a0d5c0af2171b3dc32d0e79",
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://etherscan.io/address/0x5625d2a46fc582b3e6dE5288D9C5690B20EBdb8D#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"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": []
}
+84 -14
+35 -1
{
"arbitrum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "arb1:0xAcB7D670bb95144B88a5Cd1883B87bC5021FD10a",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "arbitrum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "ApeChainMultisig",
"name": "ApeChainMultisig",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "arb1:0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF",
"type": "Contract",
"isVerified": true,
"name": "0x2B1F…7DDF",
"url": "https://arbiscan.io/address/0x2B1FbeE3c7D278bFD9E179893FF304fE49FA7DDF"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xd125c9222160C308EdC5Cf642573Ca8a14D9d33c",
"type": "EOA",
"isVerified": true,
"name": "0xd125…d33c",
"url": "https://arbiscan.io/address/0xd125c9222160C308EdC5Cf642573Ca8a14D9d33c"
},
{
"address": "arb1:0x83F58bBB1a940E364ED2dE775D1FD5218135cCE3",
"type": "EOA",
"isVerified": true,
"name": "0x83F5…cCE3",
"url": "https://arbiscan.io/address/0x83F58bBB1a940E364ED2dE775D1FD5218135cCE3"
},
{
"address": "arb1:0x651cF50272Ffa8f6D954080DF743410Bb0aa7AFa",
"type": "EOA",
"isVerified": true,
"name": "0x651c…7AFa",
"url": "https://arbiscan.io/address/0x651cF50272Ffa8f6D954080DF743410Bb0aa7AFa"
},
{
"address": "arb1:0x8765bb776b00A14198025283988c23F72D330E2a",
"type": "EOA",
"isVerified": true,
"name": "0x8765…0E2a",
"url": "https://arbiscan.io/address/0x8765bb776b00A14198025283988c23F72D330E2a"
},
{
"address": "arb1:0x65c10dD3d50B10D0E1Bb459675b03367B1b52eD1",
"type": "EOA",
"isVerified": true,
"name": "0x65c1…2eD1",
"url": "https://arbiscan.io/address/0x65c10dD3d50B10D0E1Bb459675b03367B1b52eD1"
}
],
"discoveryDrivenData": true
},
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 2/3 threshold. \n* Can interact with EspressoSGXTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers \n* Can interact with EspressoTEEVerifier\n * change the modular TEE verifier contracts \n* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with EspressoSGXTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers \n* Can interact with EspressoTEEVerifier\n * change the modular TEE verifier contracts ",
"accounts": [
{
"address": "arb1:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5",
"type": "Contract",
"isVerified": true,
"name": "0x6Dc6…1dA5",
"url": "https://arbiscan.io/address/0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63",
"type": "EOA",
"isVerified": true,
"name": "0xb9e4…9b63",
"url": "https://arbiscan.io/address/0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63"
},
{
"address": "arb1:0x5E768dd03BD821703ef825e057434De85913EEAC",
"type": "EOA",
"isVerified": true,
"name": "0x5E76…EEAC",
"url": "https://arbiscan.io/address/0x5E768dd03BD821703ef825e057434De85913EEAC"
},
{
"address": "arb1:0x00B96a8454dc757240e475B5e6e7DcAAf401930f",
"type": "EOA",
"isVerified": true,
"name": "0x00B9…930f",
"url": "https://arbiscan.io/address/0x00B96a8454dc757240e475B5e6e7DcAAf401930f"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0x3918b6ecc471211a942B0A904fbFb36302348f6B",
"type": "EOA",
"isVerified": true,
"name": "0x3918…8f6B",
"url": "https://arbiscan.io/address/0x3918b6ecc471211a942B0A904fbFb36302348f6B",
"displayName": "EOA 1"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) \n* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "arb1:0xAcB7D670bb95144B88a5Cd1883B87bC5021FD10a",
"type": "EOA",
"isVerified": true,
"name": "0xAcB7…D10a",
"url": "https://arbiscan.io/address/0xAcB7D670bb95144B88a5Cd1883B87bC5021FD10a",
"displayName": "EOA 2"
}
],
"chain": "arbitrum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "arb1:0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"type": "EOA",
"isVerified": true,
"name": "0xba1E…2C1a",
"url": "https://arbiscan.io/address/0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"displayName": "EOA 3"
}
],
"chain": "arbitrum",
"description": "* Can interact with NitroEnclaveVerifier\n * set the root certificate, add/remove ZK verifier routes, update verifier and aggregator program IDs, and change the ZK coprocessor configuration ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "arb1:0xFb259F30199B4f4AB9c9a26019f83b195837075E",
"type": "EOA",
"isVerified": true,
"name": "0xFb25…075E",
"url": "https://arbiscan.io/address/0xFb259F30199B4f4AB9c9a26019f83b195837075E",
"displayName": "EOA 4"
}
],
"chain": "arbitrum",
"description": "* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers \n * set the nitro enclave verifier that checks the TEE attestations ",
"discoveryDrivenData": true
}
]
}
}
+48 -12
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x374de579AE15aD59eD0519aeAf1A23F348Df259c",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xe032d15909e90f9A36901abB08944653e9E87d72"
],
"implementations": [
"arb1:0x2733fc1C97f6562466E9B29D64bCc6dC833cC88d",
"arb1:0x230cf5A0FE4cC58deaf8a147A42ACF3f3C20A8C4"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0x2733fc1C97f6562466E9B29D64bCc6dC833cC88d",
"arb1:0x230cf5A0FE4cC58deaf8a147A42ACF3f3C20A8C4"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately ApeChainMultisig\n * **owner**: UpgradeExecutor; ultimately ApeChainMultisig\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x374de579AE15aD59eD0519aeAf1A23F348Df259c#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0x20B3C55fe4ecd989beB56E13b2A726110f0c3619"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0x20B3C55fe4ecd989beB56E13b2A726110f0c3619"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0xAB2182C8c9a9d853Cf06A77967D2b3971A453ee1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0x6Feb471ce7D32ee16047F1A983ac4f592df96526"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0x6Feb471ce7D32ee16047F1A983ac4f592df96526"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xAB2182C8c9a9d853Cf06A77967D2b3971A453ee1#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0x51120FA6D564A70E9F80874c0a55A4ee0c7396Fe"
]
},
{
"timestamp": 1749819969,
"transactionHash": "0xe385aeb814e7282eac24484389ea3b1f4e6b612a750b25b547bacc5dffb70544",
"implementations": [
"arb1:0x0DD7dA1805d207511bb3Edabe9352B9E316048bE"
]
},
{
"timestamp": 1760470290,
"transactionHash": "0xf2787805eb5c45529aacb68a446f51693fa2ffabbbe77585921d236a9b43d97a",
"implementations": [
"arb1:0xCfAfB803EF1FEc576138Cebc79Ad41Aa6760C575"
]
}
],
"description": "The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig\n * **batchPosterManager**: EOA 1\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE6a92Ae29E24C343eE66A2B3D3ECB783d65E4a3C#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xe032d15909e90f9A36901abB08944653e9E87d72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0xdbE68E9e47c4AC96Ab1300902b4B87A7E6470786"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0xdbE68E9e47c4AC96Ab1300902b4B87A7E6470786"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig\n * **executors**: ApeChainMultisig",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe032d15909e90f9A36901abB08944653e9E87d72#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x1B98e4ED82Ee1a91A65a38C690e2266364064D15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0xFa76A234b41f932Fa769f92d85574e1BEEfE8218"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0xCd26Db56B29e88b5394063aEA727DB1a03E961a7"
]
},
{
"timestamp": 1749819969,
"transactionHash": "0xe385aeb814e7282eac24484389ea3b1f4e6b612a750b25b547bacc5dffb70544",
"implementations": [
"arb1:0xFa76A234b41f932Fa769f92d85574e1BEEfE8218"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1B98e4ED82Ee1a91A65a38C690e2266364064D15#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x4F405BA65291063d8A524c2bDf55d4e67405c2aF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0x4D92EE5cCA2A93b30549a6398C063861F18B6726"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0x4D92EE5cCA2A93b30549a6398C063861F18B6726"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4F405BA65291063d8A524c2bDf55d4e67405c2aF#code"
},
{
"name": "EspressoSGXTEEVerifier",
"isVerified": true,
"address": "arb1:0x05A16513BF74629b834878731f07b075Cca33f55",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an Intel SGX TEE.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x05A16513BF74629b834878731f07b075Cca33f55#code"
},
{
"name": "ProxyAdmin",
"name": "NitroEnclaveVerifier",
"isVerified": true,
"address": "arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507",
"address": "arb1:0x1b467761E7a125381c4f654e11B397023Fc53DD8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"description": "ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507#code"
"url": "https://arbiscan.io/address/0x1b467761E7a125381c4f654e11B397023Fc53DD8#code"
},
{
"name": "CertManager",
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x27CA506AC6567Ef79d364b56cf4dE9C4141d803A",
"address": "arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The CertManager is used for anchoring TEE attestation keys to a trusted Certificate Authority (CA).\n",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x27CA506AC6567Ef79d364b56cf4dE9C4141d803A#code"
"url": "https://arbiscan.io/address/0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x4aBF0E8C011142bAb19ff3C921880B71E68150Ca",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4aBF0E8C011142bAb19ff3C921880B71E68150Ca#code"
},
{
"name": "EspressoTEEVerifier",
"isVerified": true,
"address": "arb1:0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4fd6D0995B3016726D5674992c1Ec1bDe0989cF5#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x550B7B23Ed78BA25B3aBCBb290ADf1190aC28E19",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x550B7B23Ed78BA25B3aBCBb290ADf1190aC28E19#code"
},
{
"name": "QuoteVerifier",
"isVerified": true,
"address": "arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x69523d25E25e5c78d828Df90459b75F189D40Cf7#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x8A4ed18B4d31bCeA908B0f96B4347a9F99e816b3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8A4ed18B4d31bCeA908B0f96B4347a9F99e816b3#code"
},
{
"name": "EspressoNitroTEEVerifier",
"isVerified": true,
"address": "arb1:0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n* Roles:\n * **owner**: EOA 4",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9bE8dA826D2C6E6708372f0d056f57B97e6dB029#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0xa301f8EdD4Cdf10553b6aB39d9724c56d7ab582F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa301f8EdD4Cdf10553b6aB39d9724c56d7ab582F#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xa3180c7a17dd46DEf808477093592D8231e024a8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa3180c7a17dd46DEf808477093592D8231e024a8#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0xaB36aec5517C346D21b9C19429BAA5aa87D17fCa",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xaB36aec5517C346D21b9C19429BAA5aa87D17fCa#code"
},
{
"name": "EspressoNitroTEEVerifier",
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C",
"address": "arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n* Roles:\n * **owner**: SafeL2",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC17cd192bd0aF90a0a5c6021ee038E9223bf390C#code"
"url": "https://arbiscan.io/address/0xD9d5C8456a168Dd25561064F47bF116111131B1D#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xf383814AE1eD316ed7d6FeA28810C77E8a15A49F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0xF088dccfD7d39b24Ce0D4c91a4fEC3F56e3DBC96"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0xF088dccfD7d39b24Ce0D4c91a4fEC3F56e3DBC96"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ApeChainMultisig",
"upgradableBy": [
{
"name": "ApeChainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf383814AE1eD316ed7d6FeA28810C77E8a15A49F#code"
}
]
},
"escrows": [
{
"address": "0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8",
"sinceTimestamp": 1724863522,
"tokens": [
"APE"
],
"contract": {
"isVerified": true,
"address": "arb1:0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x1E5f8ff72895aEa53DD62b590dA51E92dC75b507"
],
"implementations": [
"arb1:0x20B3C55fe4ecd989beB56E13b2A726110f0c3619"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1724863522,
"transactionHash": "0x0d8fd55271d42815ae9dcd9820e29d18690b3a49a3cbad17308afa6431334aa5",
"implementations": [
"arb1:0x20B3C55fe4ecd989beB56E13b2A726110f0c3619"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows APE sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x6B71AFb4b7725227ab944c96FE018AB9dc0434b8#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot Apechain",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "notVerified",
"verificationSteps": "The sources for this program are located in a private repository, shared with L2BEAT to independently regenerate the wasm module root. This value is not reproducible by members of public, but we attest that it can be obtained from sources.",
"hash": "0x5b82aa008989d331bf6f3cf75b85a04c9ee809447c19b85fecaf3b7d749a6576"
},
{
"title": "Nitro TEE Verifer",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/8607619cc620a93d029a9569bccf752f341aad99/crates/sp1-methods/sp1-verifier",
"description": "Verifies correctness of a single TEE attestation for correctly running Arbitrum Nitro within a trusted enclave.",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`\n2. Make sure SP1 v6.1.0 is active: `sp1up -v 6.1.0` (must match the workspace `sp1-sdk = \"^6.1.0\"` dependency)\n3. Install docker [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [automata-network/aws-nitro-enclave-attestation](https://github.com/automata-network/aws-nitro-enclave-attestation/tree/feat/reproducible_build) repo: `git checkout feat/reproducible_build`. Commit hash should be `8607619cc620a93d029a9569bccf752f341aad99`.\n2. Make sure docker is running by running `docker ps`.\n3. From the repo root: `cargo clean -p sp1-methods` to clear any stale build artifacts.\n4. From the repo root run: `REPRODUCIBLE_BUILD=docker cargo run --release -p nitro-attest-cli --no-default-features --features sp1 -- program-id --sp1`. The `REPRODUCIBLE_BUILD=docker` env var triggers the SP1 docker reproducible rebuild of `sp1-verifier` and `sp1-aggregator` ELFs (replacing `USE_DOCKER=1` used on older branches). The CLI then prints `Verifier ID`, `Verifier Proof ID`, and `Aggregator ID`.\n ",
"hash": "0x00643c7149cf335e7ec9d3f3301e69658a7f0ef2bc7546509c257ed8809f28e1"
},
{
"title": "Nitro TEE Aggregated Verifer",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/8607619cc620a93d029a9569bccf752f341aad99/crates/sp1-methods/sp1-aggregator",
"description": "Verifies correctness of several aggregated TEE attestations for correctly running Arbitrum Nitro within a trusted enclave.",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`\n2. Make sure SP1 v6.1.0 is active: `sp1up -v 6.1.0` (must match the workspace `sp1-sdk = \"^6.1.0\"` dependency)\n3. Install docker [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [automata-network/aws-nitro-enclave-attestation](https://github.com/automata-network/aws-nitro-enclave-attestation/tree/feat/reproducible_build) repo: `git checkout feat/reproducible_build`. Commit hash should be `8607619cc620a93d029a9569bccf752f341aad99`.\n2. Make sure docker is running by running `docker ps`.\n3. From the repo root: `cargo clean -p sp1-methods` to clear any stale build artifacts.\n4. From the repo root run: `REPRODUCIBLE_BUILD=docker cargo run --release -p nitro-attest-cli --no-default-features --features sp1 -- program-id --sp1`. The `REPRODUCIBLE_BUILD=docker` env var triggers the SP1 docker reproducible rebuild of `sp1-verifier` and `sp1-aggregator` ELFs (replacing `USE_DOCKER=1` used on older branches). The CLI then prints `Verifier ID`, `Verifier Proof ID`, and `Aggregator ID`.\n ",
"hash": "0x00294928e44f0cdc9c74848c4cafcdb29f733a3bc07408c240be3d5afe750b3e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D"
]
}
+1 -1
{
"baseTimestamp": 1778232906,
"baseTimestamp": 1780654151,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+83 -67
+36 -3
{
"ethereum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "eth:0xC5dD640885cE582464e2fCa7b169581417822e6C",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "eth:0xef6Ef32bcC96B9D94f50A51A42dB4825D6337780",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Caldera Multisig 3",
"name": "Caldera Multisig 3",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * RollupProxy [via: UpgradeExecutor]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"accounts": [
{
"address": "eth:0x2bf43034b9559643e986A2fE3cE015a18247b904",
"type": "Contract",
"isVerified": true,
"name": "0x2bf4…b904",
"url": "https://etherscan.io/address/0x2bf43034b9559643e986A2fE3cE015a18247b904"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x62ea938a30826c8794C8B8BbA775B91cAE3B849A",
"type": "EOA",
"isVerified": true,
"name": "0x62ea…849A",
"url": "https://etherscan.io/address/0x62ea938a30826c8794C8B8BbA775B91cAE3B849A"
},
{
"address": "eth:0xe5219fe14E2FD520Ff80be036790913053d1575d",
"type": "EOA",
"isVerified": true,
"name": "0xe521…575d",
"url": "https://etherscan.io/address/0xe5219fe14E2FD520Ff80be036790913053d1575d"
},
{
"address": "eth:0xEC114946E7213d113c9B9481028271B5E9e09371",
"type": "EOA",
"isVerified": true,
"name": "0xEC11…9371",
"url": "https://etherscan.io/address/0xEC114946E7213d113c9B9481028271B5E9e09371"
},
{
"address": "eth:0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0",
"type": "EOA",
"isVerified": true,
"name": "0x9e14…BcD0",
"url": "https://etherscan.io/address/0x9e14B1baFCEB80B67934aBE4fB00a7291aCfBcD0"
},
{
"address": "eth:0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b",
"type": "EOA",
"isVerified": true,
"name": "0xe62a…6A6b",
"url": "https://etherscan.io/address/0xe62a4A1e6D237d6fc40d88F819D5cE580a996A6b"
},
{
"address": "eth:0x356000Cec4fC967f8FC372381D983426760A0391",
"type": "EOA",
"isVerified": true,
"name": "Caldera",
"url": "https://etherscan.io/address/0x356000Cec4fC967f8FC372381D983426760A0391"
}
],
"discoveryDrivenData": true
},
{
"id": "EspressoTEEVerifier",
"name": "EspressoTEEVerifier",
"accounts": [
{
"address": "eth:0x5BE313094a4d35b1dB233D640176B4DD11F79b67",
"type": "Contract",
"isVerified": true,
"name": "0x5BE3…9b67",
"url": "https://etherscan.io/address/0x5BE313094a4d35b1dB233D640176B4DD11F79b67"
}
],
"chain": "ethereum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports AWS Nitro TEEs through modular contracts.\n* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers ",
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 2/3 threshold. \n* Can interact with EspressoSGXTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers \n* Can interact with EspressoNitroTEEVerifier\n * set the enclaveHash (hash of enclave's code and initial data) and delete all registered signers \n* Can interact with EspressoTEEVerifier\n * change the modular TEE verifier contracts ",
"description": "A Multisig with 2/3 threshold. \n* Can interact with EspressoTEEVerifier\n * add, remove or disable supported enclave hashes \n * change the TEE verifier contract ",
"accounts": [
{
"address": "eth:0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5",
"type": "Contract",
"isVerified": true,
"name": "0x6Dc6…1dA5",
"url": "https://etherscan.io/address/0x6Dc61D9E366697979f69D89a154f2F8cd2F11dA5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63",
"type": "EOA",
"isVerified": true,
"name": "0xb9e4…9b63",
"url": "https://etherscan.io/address/0xb9e40b6E60CcD5361774cf4D36d1fCe66B649b63"
},
{
"address": "eth:0x5E768dd03BD821703ef825e057434De85913EEAC",
"type": "EOA",
"isVerified": true,
"name": "0x5E76…EEAC",
"url": "https://etherscan.io/address/0x5E768dd03BD821703ef825e057434De85913EEAC"
},
{
"address": "eth:0x00B96a8454dc757240e475B5e6e7DcAAf401930f",
"type": "EOA",
"isVerified": true,
"name": "0x00B9…930f",
"url": "https://etherscan.io/address/0x00B96a8454dc757240e475B5e6e7DcAAf401930f"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xC5dD640885cE582464e2fCa7b169581417822e6C",
"type": "EOA",
"isVerified": true,
"name": "0xC5dD…2e6C",
"url": "https://etherscan.io/address/0xC5dD640885cE582464e2fCa7b169581417822e6C",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SequencerInbox\n * Add/remove batchPosters (Sequencers) \n* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xef6Ef32bcC96B9D94f50A51A42dB4825D6337780",
"type": "EOA",
"isVerified": true,
"name": "0xef6E…7780",
"url": "https://etherscan.io/address/0xef6Ef32bcC96B9D94f50A51A42dB4825D6337780",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"type": "EOA",
"isVerified": true,
"name": "0xba1E…2C1a",
"url": "https://etherscan.io/address/0xba1E3EFfD2DD8CEb7054FEfb0cee8C4300D82C1a",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with NitroEnclaveVerifier\n * set the root certificate, add/remove ZK verifier routes, update verifier and aggregator program IDs, and change the ZK coprocessor configuration ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0xDA8E38FEf4d5cF1997061e51945775a393E4965B",
"type": "EOA",
"isVerified": true,
"name": "0xDA8E…965B",
"url": "https://etherscan.io/address/0xDA8E38FEf4d5cF1997061e51945775a393E4965B",
"displayName": "EOA 3"
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with NitroEnclaveVerifier\n * set the root certificate, add/remove ZK verifier routes, update verifier and aggregator program IDs, and change the ZK coprocessor configuration ",
"description": "* Can upgrade **with no delay**\n * EspressoTEEVerifier [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+46 -63
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x19df42E085e2c3fC4497172E412057F54D9f013E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0x480214c3B0707a1e083A3Ae97209FCb671471109"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0x480214c3B0707a1e083A3Ae97209FCb671471109"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19df42E085e2c3fC4497172E412057F54D9f013E#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x28293c7855797B0441000EF144119727f3cBCA9B",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x7c4e8195FB560D1557C52f051dCdA4724a2894b3"
],
"implementations": [
"eth:0xD6DC5196b9E1c3fcA62CCDA876ebFFb3eDA384Ea",
"eth:0xa8Ae2ed62A978e2108a1C7CBfdb43a5CBfdd2aD0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0xD6DC5196b9E1c3fcA62CCDA876ebFFb3eDA384Ea",
"eth:0xa8Ae2ed62A978e2108a1C7CBfdb43a5CBfdd2aD0"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 3\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 3\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x28293c7855797B0441000EF144119727f3cBCA9B#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x8045B2aa6b823CbA8f99ef3D3404F711619d3473",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0xA9e877a129d0b77d11876184fe6eE38A7CeAffc8"
]
},
{
"timestamp": 1744043999,
"transactionHash": "0xf5f5d49d05e0d3979c352dcd9e7f81b36131a5e9ce6891fe1c51beeb251e8dcd",
"implementations": [
"eth:0x5EE6B586F1F8651dFd5432DEcd6D4dF1EbAdD203"
]
},
{
"timestamp": 1748548763,
"transactionHash": "0x976f69fdd0d71817fd2f2f2b177c3dc0b5f8a2128730cafd1bcc9b84b16b848c",
"implementations": [
"eth:0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134"
]
},
{
"timestamp": 1754634059,
"transactionHash": "0xfb159898c69ee602cf7e18b6c24e60b05cddb75a74c11050dc3600650c0ab7f0",
"implementations": [
"eth:0x2C381da225148f7d6390f0EE4A162F958ec40e7A"
]
}
],
"description": "The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3\n * **batchPosterManager**: EOA 1\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8045B2aa6b823CbA8f99ef3D3404F711619d3473#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xB9B007aE55B81dd1498Bc500a54ad9Ae53234c9C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0xE97d5ae76694836D2e016D80469B45D7aFb2ebaB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0xE97d5ae76694836D2e016D80469B45D7aFb2ebaB"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB9B007aE55B81dd1498Bc500a54ad9Ae53234c9C#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x7c4e8195FB560D1557C52f051dCdA4724a2894b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0x31c97a0A216CCd730bd8ab3ecAA97eACbA27b11a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0x31c97a0A216CCd730bd8ab3ecAA97eACbA27b11a"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3\n * **executors**: Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7c4e8195FB560D1557C52f051dCdA4724a2894b3#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x010aDE5d8F9DC340531140802438798C189c36E0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0x74110Fb401469FEA31A10680e28c9C4c17aFdd36"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0x0e76997707dd87D80d39597e3D2253453A3A02Fc"
]
},
{
"timestamp": 1744043999,
"transactionHash": "0xf5f5d49d05e0d3979c352dcd9e7f81b36131a5e9ce6891fe1c51beeb251e8dcd",
"implementations": [
"eth:0x74110Fb401469FEA31A10680e28c9C4c17aFdd36"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x010aDE5d8F9DC340531140802438798C189c36E0#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x190C720892d0786BF75B77B4acD21c726ea8FDEd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0xf2078f19A9322E2e0Dfd02839C7D74215F2E7512"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0xf2078f19A9322E2e0Dfd02839C7D74215F2E7512"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x190C720892d0786BF75B77B4acD21c726ea8FDEd#code"
},
{
"name": "NitroEnclaveVerifier",
"isVerified": true,
"address": "eth:0x0d1AD56885440A92799dC766D65B5C8377c60A35",
"address": "eth:0x1b467761E7a125381c4f654e11B397023Fc53DD8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0d1AD56885440A92799dC766D65B5C8377c60A35#code"
"url": "https://etherscan.io/address/0x1b467761E7a125381c4f654e11B397023Fc53DD8#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x269F6f6FC8177a5A8c475AE0e2487508634EC8Ed",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0x1c48b5526071EB2c89ccA3F8afC061b12944eED5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0x1c48b5526071EB2c89ccA3F8afC061b12944eED5"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x269F6f6FC8177a5A8c475AE0e2487508634EC8Ed#code"
},
{
"name": "SP1Verifier",
"name": "EspressoNitroTEEVerifier",
"isVerified": true,
"address": "eth:0x294a1Ee119C4B2510530572481A6a50892A9ae9f",
"address": "eth:0x4e98A1a038831B7D756ea9214508C4b34f4e4D3a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"description": "Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n* Roles:\n * **teeVerifier**: EspressoTEEVerifier",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x294a1Ee119C4B2510530572481A6a50892A9ae9f#code"
"url": "https://etherscan.io/address/0x4e98A1a038831B7D756ea9214508C4b34f4e4D3a#code"
},
{
"name": "OneStepProofEntry",
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x5F8FE936F629AF71e7af6C7844692f98019d6163",
"address": "eth:0x546F30e936B1D01f8df1c356fa68833B9AFba99f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"description": "* Roles:\n * **owner**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5F8FE936F629AF71e7af6C7844692f98019d6163#code"
"url": "https://etherscan.io/address/0x546F30e936B1D01f8df1c356fa68833B9AFba99f#code"
},
{
"name": "QuoteVerifier",
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x816ADa3B63F3c643fb04152eA32B58Db89aadd89",
"address": "eth:0x5F8FE936F629AF71e7af6C7844692f98019d6163",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0xe20C4d54afBbea5123728d5b7dAcD9CB3c65C39a), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x816ADa3B63F3c643fb04152eA32B58Db89aadd89#code"
"url": "https://etherscan.io/address/0x5F8FE936F629AF71e7af6C7844692f98019d6163#code"
},
{
"name": "EspressoSGXTEEVerifier",
"isVerified": true,
"address": "eth:0x98206aBE6bdB21765458f27F199fd813343a3C3b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies attestations of an Intel SGX TEE.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x98206aBE6bdB21765458f27F199fd813343a3C3b#code"
},
{
"name": "EspressoNitroTEEVerifier",
"isVerified": true,
"address": "eth:0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n* Roles:\n * **owner**: Safe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9E490ce0203d191Cae0ABF5614D561cC6fdc771f#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0xA79305c7D5Ad6F8AF0292c863957a2488F13f0d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA79305c7D5Ad6F8AF0292c863957a2488F13f0d1#code"
},
{
"name": "EspressoTEEVerifier",
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xcC758349CBd99bAA7fAD0558634dAaB176c777D0",
"address": "eth:0xd79fd59b73c814D9607aB93C4A1aDCea06F91692",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n* Roles:\n * **owner**: Safe",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcC758349CBd99bAA7fAD0558634dAaB176c777D0#code"
"url": "https://etherscan.io/address/0xd79fd59b73c814D9607aB93C4A1aDCea06F91692#code"
},
{
"name": "OneStepProverHostIo",
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xd79fd59b73c814D9607aB93C4A1aDCea06F91692",
"address": "eth:0xD9d5C8456a168Dd25561064F47bF116111131B1D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd79fd59b73c814D9607aB93C4A1aDCea06F91692#code"
"url": "https://etherscan.io/address/0xD9d5C8456a168Dd25561064F47bF116111131B1D#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF025D25aE360D0D33a275dF74863CCc6600E6f8E#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0xf6a307A5868eB9c4a00F5efbD1EF8462AC63783f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf6a307A5868eB9c4a00F5efbD1EF8462AC63783f#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xFe53F58bAd7B83B01C47CC86471507911263ac91",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFe53F58bAd7B83B01C47CC86471507911263ac91#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0xFe95b1f7cf7D7D14E9e38dEE0EFE1c9D3AaA3e69",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFe95b1f7cf7D7D14E9e38dEE0EFE1c9D3AaA3e69#code"
}
]
},
"escrows": [
{
"address": "0x19df42E085e2c3fC4497172E412057F54D9f013E",
"sinceTimestamp": 1731100211,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x19df42E085e2c3fC4497172E412057F54D9f013E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF025D25aE360D0D33a275dF74863CCc6600E6f8E"
],
"implementations": [
"eth:0x480214c3B0707a1e083A3Ae97209FCb671471109"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1731100211,
"transactionHash": "0xffb5df6495a1e5fed0a0d1f3664f16e7b22739ac99d29a381a722f76a825107f",
"implementations": [
"eth:0x480214c3B0707a1e083A3Ae97209FCb671471109"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x19df42E085e2c3fC4497172E412057F54D9f013E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
},
{
"title": "Appchain TEE Enclave hash",
"verificationStatus": "unsuccessful",
"hash": "0x5731b637d9e3b693fc0d74e570bac76ca6c0defe3e4c119b1cea981a9bd307d6"
},
{
"title": "Nitro TEE Verifer",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/f6f9410227adc63ff5117ce3f6f7e0f155083389/crates/sp1-methods/sp1-verifier",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/8607619cc620a93d029a9569bccf752f341aad99/crates/sp1-methods/sp1-verifier",
"description": "Verifies correctness of a single TEE attestation for correctly running Arbitrum Nitro within a trusted enclave.",
"verificationStatus": "unsuccessful",
"verificationSteps": "According to Automata Network, the linked program was compiled in a non-reporducible way (without docker). The compiled binary could not be reproduced.",
"hash": "0x00e874289e8c7f42381b6220f438801d2d1478dc8230f866a31e5ceec6e93322"
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`\n2. Make sure SP1 v6.1.0 is active: `sp1up -v 6.1.0` (must match the workspace `sp1-sdk = \"^6.1.0\"` dependency)\n3. Install docker [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [automata-network/aws-nitro-enclave-attestation](https://github.com/automata-network/aws-nitro-enclave-attestation/tree/feat/reproducible_build) repo: `git checkout feat/reproducible_build`. Commit hash should be `8607619cc620a93d029a9569bccf752f341aad99`.\n2. Make sure docker is running by running `docker ps`.\n3. From the repo root: `cargo clean -p sp1-methods` to clear any stale build artifacts.\n4. From the repo root run: `REPRODUCIBLE_BUILD=docker cargo run --release -p nitro-attest-cli --no-default-features --features sp1 -- program-id --sp1`. The `REPRODUCIBLE_BUILD=docker` env var triggers the SP1 docker reproducible rebuild of `sp1-verifier` and `sp1-aggregator` ELFs (replacing `USE_DOCKER=1` used on older branches). The CLI then prints `Verifier ID`, `Verifier Proof ID`, and `Aggregator ID`.\n ",
"hash": "0x00643c7149cf335e7ec9d3f3301e69658a7f0ef2bc7546509c257ed8809f28e1"
},
{
"title": "Nitro TEE Aggregated Verifer",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/f6f9410227adc63ff5117ce3f6f7e0f155083389/crates/sp1-methods/sp1-aggregator",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/8607619cc620a93d029a9569bccf752f341aad99/crates/sp1-methods/sp1-aggregator",
"description": "Verifies correctness of several aggregated TEE attestations for correctly running Arbitrum Nitro within a trusted enclave.",
"verificationStatus": "unsuccessful",
"verificationSteps": "According to Automata Network, the linked program was compiled in a non-reporducible way (without docker). The compiled binary could not be reproduced.",
"hash": "0x002bb66c60302a81a621d7899e3f6ee1d0db9fb1eae5d1e80e94a33cb1e24922"
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`\n2. Make sure SP1 v6.1.0 is active: `sp1up -v 6.1.0` (must match the workspace `sp1-sdk = \"^6.1.0\"` dependency)\n3. Install docker [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [automata-network/aws-nitro-enclave-attestation](https://github.com/automata-network/aws-nitro-enclave-attestation/tree/feat/reproducible_build) repo: `git checkout feat/reproducible_build`. Commit hash should be `8607619cc620a93d029a9569bccf752f341aad99`.\n2. Make sure docker is running by running `docker ps`.\n3. From the repo root: `cargo clean -p sp1-methods` to clear any stale build artifacts.\n4. From the repo root run: `REPRODUCIBLE_BUILD=docker cargo run --release -p nitro-attest-cli --no-default-features --features sp1 -- program-id --sp1`. The `REPRODUCIBLE_BUILD=docker` env var triggers the SP1 docker reproducible rebuild of `sp1-verifier` and `sp1-aggregator` ELFs (replacing `USE_DOCKER=1` used on older branches). The CLI then prints `Verifier ID`, `Verifier Proof ID`, and `Aggregator ID`.\n ",
"hash": "0x00294928e44f0cdc9c74848c4cafcdb29f733a3bc07408c240be3d5afe750b3e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x294a1Ee119C4B2510530572481A6a50892A9ae9f"
"eth:0xD9d5C8456a168Dd25561064F47bF116111131B1D"
]
}
+1 -1
{
"baseTimestamp": 1779719407,
"baseTimestamp": 1780654139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0xbe04Ab2728c924D678f9FC833E379688c6eFA317"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x16242595cAfA3a207E9354E3bdb000B59bA82875"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0xcc4e9E22AcDf93192cf7E149D7563F6d660E9Afc"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0xD03bFe2CE83632F4E618a97299cc91B1335BB2d9"
]
},
{
"timestamp": 1710423719,
"transactionHash": "0x51b492ac498a88565639cfe3df77be8729d61f1c413d00b66530d4022a13c36a",
"implementations": [
"eth:0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **batchPosterManager**: Arbitrum Multisig 1\n * **batchPosters**: EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x4DCeB440657f21083db8aDd07665f8ddBe1DCfc0",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd"
],
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **owner**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4DCeB440657f21083db8aDd07665f8ddBe1DCfc0#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0xfCEa474C6bD5Dd4eDF5f37EE6Bea5567F0B52A08"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
{
"timestamp": 1779645011,
"transactionHash": "0x200e16ae14638444cf8eda34024c2a956e76a61df81dc35ffb9611edccadb3ea",
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **mainOutboxAddress**: Outbox",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xA5565d266c3c3Ee90B16Be8A5b13d587ef559fB0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA5565d266c3c3Ee90B16Be8A5b13d587ef559fB0#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968515,
"transactionHash": "0x9826d4f30361ad867030f94b0987567baf54040c39b661d8a825e945dc221eec",
"implementations": [
"eth:0x86f0cf42Ad673B3D666d103E009EC142D1298a17"
]
},
{
"timestamp": 1758644207,
"transactionHash": "0x81f4da8c5dd87d618e927936c941151689ef674ce2639cd4f0857fa4b75a2861",
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: UpgradeExecutorAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **executors**: Arbitrum Security Council, L1Timelock",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3ffFbAdAF827559da092217e474760E2b2c3CeDd#code"
},
{
"name": "L1Timelock",
"isVerified": true,
"address": "eth:0xE6841D92B0C345144506576eC13ECf5103aC7f49",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x61dC65001A8De4138DAD5167e43FF0FB0AB8D3B3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968515,
"transactionHash": "0x9826d4f30361ad867030f94b0987567baf54040c39b661d8a825e945dc221eec",
"implementations": [
"eth:0x962d70fc48F3465404bC77B03f104746B25a1d1b"
]
},
{
"timestamp": 1695256619,
"transactionHash": "0x84c81ca768ba6e8c9a81bd060ac455d8a9488e3f6e7ef34f4e0bd3cb74d53140",
"implementations": [
"eth:0x61dC65001A8De4138DAD5167e43FF0FB0AB8D3B3"
]
}
],
"description": "A timelock with access control. The current minimum delay is 3d. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **admin**: UpgradeExecutorAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **canceller**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **proposer**: Bridge; ultimately CoreGovernor, L2SecurityCouncilPropose\n * **timelockAdmin**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE6841D92B0C345144506576eC13ECf5103aC7f49#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0x0eA7372338a589e7f0b00E463a53AA464ef04e17"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1. Is also used to relay governance action messages from Arbitrum One to Ethereum, allowing the L2Timelock and its Governance actors on L2 to act as this address and inherit all its listed permissions.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1622317036,
"transactionHash": "0x2a41e48a9927eddb62c3d45d7a2eb0304281d4b9e7db8d52022c3ff80f7751df",
"implementations": [
"eth:0xB38634F1192fd4A4864b99a4C9100339815c6450"
]
},
{
"timestamp": 1630187410,
"transactionHash": "0xc71c860df401495251ad1f549dbfd4995f4284e40454765f32e2e873f4aa63dc",
"implementations": [
"eth:0xE5dB9273e7279F1485b30D8553183E3E29532ca3"
]
},
{
"timestamp": 1630287808,
"transactionHash": "0x37915ab37a7161dbc2f41340849491bcfc77eddce6fa3bce2918b1277e40597b",
"implementations": [
"eth:0x048cc108763de75E080Ad717bD284003aa49eA15"
]
},
{
"timestamp": 1651333828,
"transactionHash": "0x3e8e23623e0dbda0b428efd30e71ef7b0e61622fc036db4943ce78bbfd129f91",
"implementations": [
"eth:0xc23E3F20340f8ef09c8861a724C29dB43bA3eeD4"
]
},
{
"timestamp": 1661532655,
"transactionHash": "0xe679c9810cdff738114c551b47b1c30b5445f684a12a25dfaf27dac2e613591a",
"implementations": [
"eth:0xe4B8015Ea98fc86D7fDe16CdfD1B7A250cD93e2B"
]
},
{
"timestamp": 1661956342,
"transactionHash": "0x7dfb8f1f20815629a78dc16a8657306b6d200041624c4f3410d659cbdab2bc9f",
"implementations": [
"eth:0x3E2198A77FC6B266082b92859092170763548730"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0x1b2676D32E2f7430a564DD4560641F990dFE3D6a"
]
},
{
"timestamp": 1668791063,
"transactionHash": "0xd2638d4092738bced51f259ca8ab228c21763fd0e5d85657a75aec811c2c51f3",
"implementations": [
"eth:0x931E1770BEC7827841f3989bda43319adACD62db"
]
},
{
"timestamp": 1671119939,
"transactionHash": "0x0bd4aae6c69f7e6aae36a112aae4793716f23620ed242027cc84c9236f170836",
"implementations": [
"eth:0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
{
"timestamp": 1776742007,
"transactionHash": "0x079984c56c5670108f5c6f664904178f9b364340351949a42e4637d1f645f770",
"implementations": [
"eth:0x980D1F93FC5809c828539c46084801673FA6A859"
]
},
{
"timestamp": 1776742007,
"transactionHash": "0x079984c56c5670108f5c6f664904178f9b364340351949a42e4637d1f645f770",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f#code"
},
{
"name": "L1ERC20Gateway",
"isVerified": true,
"address": "eth:0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716065,
"transactionHash": "0x289c1529f29f00f7b67f99074061d971a2d33ffc15a6fe5d7fa8ed533a6d8698",
"implementations": [
"eth:0x553524e576a0E92beC7CC24843C04bF51493A5db"
]
},
{
"timestamp": 1627684791,
"transactionHash": "0xa3c53b23f347613b517160eb732174e54f3b28d8e63646d14b8e39394c449ae2",
"implementations": [
"eth:0x41AC92014C66C38bBBDEF8cCF5A060CCa5634fd5"
]
},
{
"timestamp": 1629993965,
"transactionHash": "0xc93128ad2d69bac5c0c5ebe77abe4ead2cdb0ece637ff8db193e7c894933d8f7",
"implementations": [
"eth:0xE317c204Fa7C3150af24aa20264b983fc82b7BBd"
]
},
{
"timestamp": 1630345284,
"transactionHash": "0xbe4a3a9dd5b909eb699c07aec0a5d190a8433b3c65544b85521cab827f80d481",
"implementations": [
"eth:0x0aCb04878B3675EF40b2e9392622CE3C1E9CC99E"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0xd710c475216999184DB1737aAd197fC855255AD7"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xa83520Ae8d05bDBd20770c3d7268F66AcAcb6d43"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa3A7B6F88361F48403514059F1F16C8E78d60EeC#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659608791,
"transactionHash": "0x912fc5992f5a24c2ffe5e230ac51fcc4724cb3e4a23535b04eec34f99f77e3a8",
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a#code"
},
{
"name": "LPTL1Escrow",
"isVerified": true,
"address": "eth:0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1625173656,
"transactionHash": "0xb143deb4f1396daa96ea8e5be22dc6b188a09653bdf300b1f40573cce7ad01f0",
"implementations": [
"eth:0x4b2Cf3BE8677096310b32a648b0Bdb8c5A8dDC94"
]
},
{
"timestamp": 1629993939,
"transactionHash": "0x5dc6e34fc33a880f60903032ae94b8bb11973c0102c7959490bbc0ea124f11e9",
"implementations": [
"eth:0x555d10f9E4d1b60B9c3F87F4E835119B2C65c8B0"
]
},
{
"timestamp": 1630345211,
"transactionHash": "0x29c02be0f39043d705dd8d3eb2af9e3b3ae5e94251aa294e7c4e919252f80ab0",
"implementations": [
"eth:0x62285266B5ec3d5B8867c84B807b79B2c13892EC"
]
},
{
"timestamp": 1631908333,
"transactionHash": "0x92bf07ee654ad93ad41c093f045cde6cd4b839d0e3a6b0532a8ab18090208f35",
"implementations": [
"eth:0x594393B6A6A46190dF3E479304bbC63572c6830a"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0x32f39fa08c1E0bbA551CBDa4197e543C53b3fC53"
]
},
{
"timestamp": 1634925560,
"transactionHash": "0x656bdf44374b1fc07ce0a01b9645e2b03a4f134b35dfe41fd3e2045cfe082411",
"implementations": [
"eth:0x2e8e3e55cE12F981EbF8E545Cb263aB238e19715"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0x6D1c576Fe3e54313990450f5Fa322306B4cCB47B"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef#code"
},
{
"name": "L1Escrow",
"isVerified": true,
"address": "eth:0xA10c7CE4b876998858b1a9E12b10092229539400",
"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/0xA10c7CE4b876998858b1a9E12b10092229539400#code"
},
{
"name": "L1CustomGateway",
"isVerified": true,
"address": "eth:0xcEe284F754E854890e311e3280b767F80797180d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716075,
"transactionHash": "0xd0f181f40b470dbd3d2c44474725ea0babcc54c6a035b33e090229e133b40456",
"implementations": [
"eth:0x20c9d24EDcF5CC943BE6eC55CbE786AbF05354c0"
]
},
{
"timestamp": 1625173105,
"transactionHash": "0x92f6e1e0af1cfede9c7253d4fe72400ea1215985686cb0a25da2a1d7c8d614b0",
"implementations": [
"eth:0x304c13E8d2353f57076f2f8B8Dd4e29e347841EB"
]
},
{
"timestamp": 1627684759,
"transactionHash": "0xff67b0e76d27e79cc9e251a34c1511df39bb5769c4e30956d945f8bafc08f40c",
"implementations": [
"eth:0xc5199b28d5267F80A7FA7a3313357D50Cf4Dba6C"
]
},
{
"timestamp": 1629993991,
"transactionHash": "0xf79ceb2e28ffd89853dc992cfba0ce69ab77c711b31b251608112bf703cf7a98",
"implementations": [
"eth:0x79f01C581bfd44aF8B0721029Bf594B30592675F"
]
},
{
"timestamp": 1630345297,
"transactionHash": "0x4134f1974f5b4c4f95cb2e8a9f7ce56a055a672911c09a7918497f8f14f117da",
"implementations": [
"eth:0x98659BDffa4fEF82cD37771CDBFF3ddDa21EE8e9"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0x73bd0a2476b40A6aE04497D36efc85affeD3516b"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xe8B0e562269EF963AA7b4c92645ff06E72CA02E6"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcEe284F754E854890e311e3280b767F80797180d#code"
},
{
"name": "L1DaiGateway",
"isVerified": true,
"address": "eth:0xD3B5b60020504bc3489D6949d545893982BA3011",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Counterpart of the L2DaiGateway. Allows for bridging DAI from L1 to L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD3B5b60020504bc3489D6949d545893982BA3011#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x35FBC5F03d86E88973B06Fb9C5a913D54AbdF731",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x35FBC5F03d86E88973B06Fb9C5a913D54AbdF731#code"
},
{
"name": "ParentToChildRewardRouter",
"isVerified": true,
"address": "eth:0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collects the excess stake when rival nodes are created and allows to send them to the L2 treasury.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x57Bd336d579A51938619271a7Cc137a46D0501B1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0x806421D09cDb253aa9d128a658e60c0B95eFFA01"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57Bd336d579A51938619271a7Cc137a46D0501B1#code"
},
{
"name": "OutboxV0",
"isVerified": true,
"address": "eth:0x667e23ABd27E623c11d4CC00ca3EC4d0bD63337a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x263a68002876E307804168795519da0B32CC62fE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1630187713,
"transactionHash": "0xe63e93e3aeaeab596c9b5f306d0f9b42f5afdc11035d4b247278916ee39376cd",
"implementations": [
"eth:0xb91f4bE773F5a1b9b0dC1085663b3535A6EBeEE2"
]
},
{
"timestamp": 1661532655,
"transactionHash": "0xe679c9810cdff738114c551b47b1c30b5445f684a12a25dfaf27dac2e613591a",
"implementations": [
"eth:0x263a68002876E307804168795519da0B32CC62fE"
]
}
],
"description": "* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x667e23ABd27E623c11d4CC00ca3EC4d0bD63337a#code"
},
{
"name": "OutboxV1",
"isVerified": true,
"address": "eth:0x760723CD2e632826c38Fef8CD438A4CC7E7E1A40",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x360861b7b245c968128F0a53d281aDb1Df760711"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661532655,
"transactionHash": "0xe679c9810cdff738114c551b47b1c30b5445f684a12a25dfaf27dac2e613591a",
"implementations": [
"eth:0x360861b7b245c968128F0a53d281aDb1Df760711"
]
}
],
"description": "* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x760723CD2e632826c38Fef8CD438A4CC7E7E1A40#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xa07cD154340CC74EcF156FFB9fb378Ee29Ca71Cf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa07cD154340CC74EcF156FFB9fb378Ee29Ca71Cf#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xaB9596a0aaF28bc798c453434EC2DC0F8F0bF921",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaB9596a0aaF28bc798c453434EC2DC0F8F0bF921#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0xe0ba77e0E24de5369e3B268Ea79fDe716e2EC48b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe0ba77e0E24de5369e3B268Ea79fDe716e2EC48b#code"
}
],
"arbitrum": [
{
"name": "L2Timelock",
"isVerified": true,
"address": "arb1:0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
}
],
"description": "Delays constitutional AIPs from the CoreGovernor by 8d.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **canceller**: CoreGovernor\n * **proposer**: CoreGovernor, L2SecurityCouncilPropose, SecurityCouncilManager\n * **timelockAdmin**: L2UpgradeExecutor; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0#code"
},
{
"name": "TreasuryGovernor",
"isVerified": true,
"address": "arb1:0x789fC99093B09aD01C34DC7251D0C89ce743e5a4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x46AF4EDFDb689C30560D11052056d603d05b5aE0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x065620d99E1785Ccf56Fa95462d3012Eb844FDC9"
]
},
{
"timestamp": 1774870191,
"transactionHash": "0xe7d8582f70ed8f2aea014c5de13cbbeabe7c128707e25fa01cae9db781846038",
"implementations": [
"arb1:0x46AF4EDFDb689C30560D11052056d603d05b5aE0"
]
}
],
"description": "Token governance contract used for creating non-constitutional AIPs (treasury proposals), e.g., transferring funds out of the DAO Treasury. Uses DVP-based quorum (percentage of Delegated Voting Power with floor and ceiling bounds).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x789fC99093B09aD01C34DC7251D0C89ce743e5a4#code"
},
{
"name": "SecurityCouncilNomineeElectionGovernor",
"isVerified": true,
"address": "arb1:0x8a1cDA8dee421cD06023470608605934c16A05a0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0xd3Ae921B220bedC2f94a5968E25535a476A9518C"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1692138965,
"transactionHash": "0xb2e6f470d1e229cc4225234ae7df52ace563c7b0b9e3ad63a02f535f47e3ac6b",
"implementations": [
"arb1:0x8436A1bc9f9f9EB0cF1B51942C5657b60A40CCDD"
]
},
{
"timestamp": 1709903420,
"transactionHash": "0x2e784329480dcb755f6224186b5e0d0a32aa666698d06d0fea5c19f71ed5a9c3",
"implementations": [
"arb1:0xd3Ae921B220bedC2f94a5968E25535a476A9518C"
]
}
],
"description": "Token governance contract for the Security Council nominee elections.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a1cDA8dee421cD06023470608605934c16A05a0#code"
},
{
"name": "TreasuryTimelock",
"isVerified": true,
"address": "arb1:0xbFc1FECa8B09A5c5D3EFfE7429eBE24b9c09EF58",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
}
],
"description": "Delays treasury proposals from the TreasuryGovernor by 259200 seconds. Is used as the main recipient for the ETH from L2SurplusFee and L2BaseFee contracts.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xbFc1FECa8B09A5c5D3EFfE7429eBE24b9c09EF58#code"
},
{
"name": "L2UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x7A013834D54e9B22d1978aAe3aaDDC909Aa79115"
]
},
{
"timestamp": 1758645131,
"transactionHash": "0x288a50fac2dcdd766d7f11b3ee8597152c8d015e904681b34cb0d652671496de",
"implementations": [
"arb1:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "This contract can upgrade the L2 system's contracts through the L2ProxyAdmin. The upgrades can be done either by the Security Council or by the L1Timelock (via its alias on L2).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **executors**: L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827#code"
},
{
"name": "SecurityCouncilManager",
"isVerified": true,
"address": "arb1:0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x468dA0eE5570Bdb1Dd81bFd925BAf028A93Dce64"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1692138965,
"transactionHash": "0xb2e6f470d1e229cc4225234ae7df52ace563c7b0b9e3ad63a02f535f47e3ac6b",
"implementations": [
"arb1:0x468dA0eE5570Bdb1Dd81bFd925BAf028A93Dce64"
]
}
],
"description": "This contract enforces the rules for changing members and cohorts of the SecurityCouncil and creates crosschain messages to Ethereum and Arbitrum Nova to keep the configuration in sync.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **cohortReplacer**: SecurityCouncilMemberElectionGovernor\n * **defaultAdmin**: L2UpgradeExecutor; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **memberAdder**: L2SecurityCouncilPropose\n * **memberRemover**: L2SecurityCouncilPropose, SecurityCouncilMemberRemovalGovernor\n * **memberReplacer**: L2SecurityCouncilPropose\n * **memberRotator**: L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC#code"
},
{
"name": "L2ERC20Gateway",
"isVerified": true,
"address": "arb1:0x09e9222E96E7B4AE2a407B98d48e330053351EEe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0x1DCf7D03574fbC7C205F41f2e116eE094a652e93"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1624716065,
"transactionHash": "0x4e12ef6c0cb9089632488f4796b6c46818908d29b4547432506dfd28e0e9017b",
"implementations": [
"arb1:0x4bF6365278F340E759e7BB4732fE8B507784eAEB"
]
},
{
"timestamp": 1629994790,
"transactionHash": "0x4493b489b9d332078d3dc0ead005a04be3be264a4f2bc32949c19529455804c6",
"implementations": [
"arb1:0x370ED500E9FEBC1ab05aC0A1617F8775aB80c48e"
]
},
{
"timestamp": 1630345637,
"transactionHash": "0xaa2a503ca6469c771da72d0f04e2afcbe342d9491f620c6b0f7a553c972602da",
"implementations": [
"arb1:0xEdE95739749BfA021134E41F520d784c99323D6B"
]
},
{
"timestamp": 1659980035,
"transactionHash": "0x1608ac4dc927c1b322d906419400226634fbf6e68e3fec72316d2e0a3b76c141",
"implementations": [
"arb1:0x1DCf7D03574fbC7C205F41f2e116eE094a652e93"
]
}
],
"description": "Counterpart to the L1ERC20Gateway. Can mint (deposit to L2) and burn (withdraw to L1) ERC20 tokens on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x09e9222E96E7B4AE2a407B98d48e330053351EEe#code"
},
{
"name": "L2GatewayRouter",
"isVerified": true,
"address": "arb1:0x5288c571Fd7aD117beA99bF60FE0846C4E84F933",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0xe80eb0238029333e368e0bDDB7acDf1b9cb28278"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1629994790,
"transactionHash": "0x5eac0a26fe108aefb7fe582a4e496463befe69c8fccdb041de9fadbf72190662",
"implementations": [
"arb1:0xb30751052797AdBDdbF4847045E51E65e48BAF9c"
]
},
{
"timestamp": 1630345637,
"transactionHash": "0x3ced0ee009785e4b17f388a9da4d27fa77c77059c91e8349e8ddf6ba133ef62e",
"implementations": [
"arb1:0x176a9d89d235512Ad5CB4b6A0879D704D8315eF8"
]
},
{
"timestamp": 1659980035,
"transactionHash": "0x1608ac4dc927c1b322d906419400226634fbf6e68e3fec72316d2e0a3b76c141",
"implementations": [
"arb1:0xe80eb0238029333e368e0bDDB7acDf1b9cb28278"
]
}
],
"description": "Router managing token <–> gateway mapping on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5288c571Fd7aD117beA99bF60FE0846C4E84F933#code"
},
{
"name": "L2WethGateway",
"isVerified": true,
"address": "arb1:0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0x806421D09cDb253aa9d128a658e60c0B95eFFA01"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1624918777,
"transactionHash": "0x5a435697cadb8ffab0b4e0e9cb0405f4727be3af14c68305a7fb123f7f27bc2f",
"implementations": [
"arb1:0xb01dB0529B80B73a86ecD75Ae3559844319575E5"
]
},
{
"timestamp": 1629994790,
"transactionHash": "0x6729e8a4103b6074233302df728b2651392cc833939ce1d97611e167241fe667",
"implementations": [
"arb1:0xc4940069140142236D4065b866018f7b2BeC77fD"
]
},
{
"timestamp": 1630345689,
"transactionHash": "0x87a0fbd51446cdc98fe4dd864d892af27f39d36bac20acbbb0441118e5adf1ba",
"implementations": [
"arb1:0x0db4f16c99B0aE9b00fc09bF69b36c7d73c45CBE"
]
},
{
"timestamp": 1659980035,
"transactionHash": "0x1608ac4dc927c1b322d906419400226634fbf6e68e3fec72316d2e0a3b76c141",
"implementations": [
"arb1:0xB642058A41D414D9De3F36D14051623e557f1052"
]
},
{
"timestamp": 1675999253,
"transactionHash": "0xb3f49dbe8f48978f618fe962cac91a0fb55a8ded4820702cec2aa305510c21c5",
"implementations": [
"arb1:0x806421D09cDb253aa9d128a658e60c0B95eFFA01"
]
}
],
"description": "Counterpart to the Bridge on L1. Mints and burns WETH on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B#code"
},
{
"name": "L2ARBGateway",
"isVerified": true,
"address": "arb1:0xCaD7828a19b363A2B44717AFB1786B5196974D8E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x5D96786d3Eb13CAd05c9Fd7d0f7bb9560b4E5056"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968435,
"transactionHash": "0xb0fe5622518dc102956d1c0fa83ae58287e4d379dc753ce88df018cbda823cad",
"implementations": [
"arb1:0x5D96786d3Eb13CAd05c9Fd7d0f7bb9560b4E5056"
]
}
],
"description": "ARB sent from L2 to L1 is escrowed in this contract and minted on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xCaD7828a19b363A2B44717AFB1786B5196974D8E#code"
},
{
"name": "L2DAIGateway",
"isVerified": true,
"address": "arb1:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Counterpart to the L1DaiGateway. Can mint (deposit to L2) and burn (withdraw to L1) DAI tokens on L2.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
{
"name": "L2LPTGateway",
"isVerified": true,
"address": "arb1:0x6D2457a4ad276000A615295f7A80F79E48CcD318",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Counterpart to the L1LPTGateway. Can mint (deposit to L2) and burn (withdraw to L1) LPT on L2.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6D2457a4ad276000A615295f7A80F79E48CcD318#code"
},
{
"name": "ConstitutionHash",
"isVerified": true,
"address": "arb1:0x1D62fFeB72e4c360CcBbacf7c965153b00260417",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Keeps the current hash of the ArbitrumDAO Constitution. Settable by the L2UpgradeExecutor.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1D62fFeB72e4c360CcBbacf7c965153b00260417#code"
},
{
"name": "L2SurplusFee",
"isVerified": true,
"address": "arb1:0x32e7AF5A8151934F3787d0cD59EB6EDd0a736b1d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract receives all SurplusFees: Transaction fee component that covers the cost beyond that covered by the L2 Base Fee during chain congestion. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x32e7AF5A8151934F3787d0cD59EB6EDd0a736b1d#code"
},
{
"name": "StandardArbERC20",
"isVerified": true,
"address": "arb1:0x3f770Ac673856F105b586bb393d122721265aD46",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3f770Ac673856F105b586bb393d122721265aD46#code"
},
{
"name": "BeaconProxyFactory",
"isVerified": true,
"address": "arb1:0x3fE38087A94903A9D946fa1915e1772fe611000f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3fE38087A94903A9D946fa1915e1772fe611000f#code"
},
{
"name": "UpgradeExecRouteBuilder",
"isVerified": true,
"address": "arb1:0x7481716f05E315Fc4C4a64E56DcD9bc1D6F24C0a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7481716f05E315Fc4C4a64E56DcD9bc1D6F24C0a#code"
},
{
"name": "L2ArbitrumToken",
"isVerified": true,
"address": "arb1:0x912CE59144191C1204E64559FE8253a0e49E6548",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0xd47D14a315394ddf063174f2286Ab4Eb7C507fa0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0xC4ed0A9Ea70d5bCC69f748547650d32cC219D882"
]
},
{
"timestamp": 1774870191,
"transactionHash": "0xe7d8582f70ed8f2aea014c5de13cbbeabe7c128707e25fa01cae9db781846038",
"implementations": [
"arb1:0xd47D14a315394ddf063174f2286Ab4Eb7C507fa0"
]
}
],
"description": "The ARB token contract. Supply can be increased by the owner once per year by a maximum of 2%.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x912CE59144191C1204E64559FE8253a0e49E6548#code"
},
{
"name": "SecurityCouncilMemberSyncAction",
"isVerified": true,
"address": "arb1:0x9BF7b8884Fa381a45f8CB2525905fb36C996297a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Contract used by the security council management system to sync SecurityCouncil members between the L1 and the L2.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9BF7b8884Fa381a45f8CB2525905fb36C996297a#code"
},
{
"name": "L2BaseFee",
"isVerified": true,
"address": "arb1:0xbF5041Fc07E1c866D15c749156657B8eEd0fb649",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract receives all BaseFees: The transaction fee component that covers the minimum cost of Arbitrum transaction execution. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xbF5041Fc07E1c866D15c749156657B8eEd0fb649#code"
},
{
"name": "L2GatewaysProxyAdmin",
"isVerified": true,
"address": "arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd570aCE65C43af47101fC6250FD6fC63D1c22a86#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "arb1:0xdb216562328215E010F819B5aBe947bad4ca961e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xdb216562328215E010F819B5aBe947bad4ca961e#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "arb1:0xE72ba9418b5f2Ce0A6a40501Fe77c6839Aa37333",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE72ba9418b5f2Ce0A6a40501Fe77c6839Aa37333#code"
}
]
},
"escrows": [
{
"address": "0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"sinceTimestamp": 1661457944,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0xfCEa474C6bD5Dd4eDF5f37EE6Bea5567F0B52A08"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
{
"timestamp": 1779645011,
"transactionHash": "0x200e16ae14638444cf8eda34024c2a956e76a61df81dc35ffb9611edccadb3ea",
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xcEe284F754E854890e311e3280b767F80797180d",
"sinceTimestamp": 1623867835,
"tokens": "*",
"excludedTokens": [
"USDT"
],
"premintedTokens": [
"SQD"
],
"contract": {
"isVerified": true,
"address": "eth:0xcEe284F754E854890e311e3280b767F80797180d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716075,
"transactionHash": "0xd0f181f40b470dbd3d2c44474725ea0babcc54c6a035b33e090229e133b40456",
"implementations": [
"eth:0x20c9d24EDcF5CC943BE6eC55CbE786AbF05354c0"
]
},
{
"timestamp": 1625173105,
"transactionHash": "0x92f6e1e0af1cfede9c7253d4fe72400ea1215985686cb0a25da2a1d7c8d614b0",
"implementations": [
"eth:0x304c13E8d2353f57076f2f8B8Dd4e29e347841EB"
]
},
{
"timestamp": 1627684759,
"transactionHash": "0xff67b0e76d27e79cc9e251a34c1511df39bb5769c4e30956d945f8bafc08f40c",
"implementations": [
"eth:0xc5199b28d5267F80A7FA7a3313357D50Cf4Dba6C"
]
},
{
"timestamp": 1629993991,
"transactionHash": "0xf79ceb2e28ffd89853dc992cfba0ce69ab77c711b31b251608112bf703cf7a98",
"implementations": [
"eth:0x79f01C581bfd44aF8B0721029Bf594B30592675F"
]
},
{
"timestamp": 1630345297,
"transactionHash": "0x4134f1974f5b4c4f95cb2e8a9f7ce56a055a672911c09a7918497f8f14f117da",
"implementations": [
"eth:0x98659BDffa4fEF82cD37771CDBFF3ddDa21EE8e9"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0x73bd0a2476b40A6aE04497D36efc85affeD3516b"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xe8B0e562269EF963AA7b4c92645ff06E72CA02E6"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting custom tokens on L2.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xcEe284F754E854890e311e3280b767F80797180d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"sinceTimestamp": 1623784100,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"PEPE",
"rsETH"
],
"premintedTokens": [
"LOGX",
"AIUS",
"YBR",
"FFM"
],
"contract": {
"isVerified": true,
"address": "eth:0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716065,
"transactionHash": "0x289c1529f29f00f7b67f99074061d971a2d33ffc15a6fe5d7fa8ed533a6d8698",
"implementations": [
"eth:0x553524e576a0E92beC7CC24843C04bF51493A5db"
]
},
{
"timestamp": 1627684791,
"transactionHash": "0xa3c53b23f347613b517160eb732174e54f3b28d8e63646d14b8e39394c449ae2",
"implementations": [
"eth:0x41AC92014C66C38bBBDEF8cCF5A060CCa5634fd5"
]
},
{
"timestamp": 1629993965,
"transactionHash": "0xc93128ad2d69bac5c0c5ebe77abe4ead2cdb0ece637ff8db193e7c894933d8f7",
"implementations": [
"eth:0xE317c204Fa7C3150af24aa20264b983fc82b7BBd"
]
},
{
"timestamp": 1630345284,
"transactionHash": "0xbe4a3a9dd5b909eb699c07aec0a5d190a8433b3c65544b85521cab827f80d481",
"implementations": [
"eth:0x0aCb04878B3675EF40b2e9392622CE3C1E9CC99E"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0xd710c475216999184DB1737aAd197fC855255AD7"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xa83520Ae8d05bDBd20770c3d7268F66AcAcb6d43"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xa3A7B6F88361F48403514059F1F16C8E78d60EeC#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA10c7CE4b876998858b1a9E12b10092229539400",
"sinceTimestamp": 1632133470,
"tokens": [
"DAI",
"USDS",
"sUSDS"
],
"contract": {
"isVerified": true,
"address": "eth:0xA10c7CE4b876998858b1a9E12b10092229539400",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for DAI, USDS and sUSDS bridged with canonical messaging.",
"url": "https://etherscan.io/address/0xA10c7CE4b876998858b1a9E12b10092229539400#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a",
"sinceTimestamp": 1659608791,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659608791,
"transactionHash": "0x912fc5992f5a24c2ffe5e230ac51fcc4724cb3e4a23535b04eec34f99f77e3a8",
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A",
"sinceTimestamp": 1644777090,
"tokens": [
"LPT"
],
"contract": {
"isVerified": true,
"address": "eth:0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "LPT Vault for custom Livepeer Token Gateway.",
"url": "https://etherscan.io/address/0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x011B6E24FfB0B5f5fCc564cf4183C5BBBc96D515",
"chain": "ethereum",
"sinceTimestamp": 1622243344,
"tokens": [
"ETH"
],
"isHistorical": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 17d 8h delay on code upgrades unless upgrade is initiated by the Security Council in which case there is no delay."
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x1e751242C9CE10E165969EeD91E5D98587904aad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0xAb468d23BaBD01E57eCc776bEE246938E6a6e9E2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0xB8bAb420bf84B9706d8fCbfd3b3755A929A387FD"
]
},
{
"timestamp": 1746452666,
"transactionHash": "0xc482ea9dc5e8e9c3c826ff993b9febcaa1dd0e7d941121964024a2cbd837ba6d",
"implementations": [
"arb1:0xAb468d23BaBD01E57eCc776bEE246938E6a6e9E2"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1\n * **batchPosterManager**: EOA 5\n * **batchPosters**: EOA 4",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1e751242C9CE10E165969EeD91E5D98587904aad#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x6f857Cfcb32951cE5A6fAD7B809af8Bcbc3d551A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0xEaBEc0E67eED258238789437fa253B898DF52327"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0x907b1D0f721ac9736Aa2f02540C5ca68E43BB018"
]
},
{
"timestamp": 1729337348,
"transactionHash": "0x17f24aa38b43bb38d852ebabcaf8469bc867f43aaf19a79d34a637f04418e530",
"implementations": [
"arb1:0xEaBEc0E67eED258238789437fa253B898DF52327"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6f857Cfcb32951cE5A6fAD7B809af8Bcbc3d551A#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xC1bf6E0Ac80e92A331c4D448652C4824D4195459",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0xeF960375235AbFab045c4A7324295612739569EB"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0xF0bb18D200D4CB7b36853Eaa0D902F729B4602AB"
]
},
{
"timestamp": 1745530799,
"transactionHash": "0x1886d4d0e9c54cd3e04d16cad30e1f4041ae2a109c2341587f8c5736e4ad6ca0",
"implementations": [
"arb1:0xeF960375235AbFab045c4A7324295612739569EB"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC1bf6E0Ac80e92A331c4D448652C4824D4195459#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xF9327276c0E0d255543C095AC6D243B555e645D9",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xa5e62aAC82Af6dA4Fd23ca5219132a7D941B4fe3"
],
"implementations": [
"arb1:0x55dA4671C398854a78ACea4fD5102c59AF8b7a77",
"arb1:0xBB0F18D6968b44dd2CEE3d3EF728DbA80aDe4AC0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0x6E1430d75564ff2115B0c7f9cD19fEF1dd4DB667",
"arb1:0x5cd07e89899121537bb390C1b257bAeC2D83A5e1"
]
},
{
"timestamp": 1729337348,
"transactionHash": "0x17f24aa38b43bb38d852ebabcaf8469bc867f43aaf19a79d34a637f04418e530",
"implementations": [
"arb1:0x55dA4671C398854a78ACea4fD5102c59AF8b7a77",
"arb1:0xBB0F18D6968b44dd2CEE3d3EF728DbA80aDe4AC0"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 1\n * **anyTrustFastConfirmer**: Blessnet Multisig 2\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 1\n * **validators**: Blessnet Multisig 1, Blessnet Multisig 2, EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF9327276c0E0d255543C095AC6D243B555e645D9#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xa5e62aAC82Af6dA4Fd23ca5219132a7D941B4fe3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0x359471b7e8dde088eE938D470a1B7092Af4F2302"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0x359471b7e8dde088eE938D470a1B7092Af4F2302"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1\n * **executors**: Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa5e62aAC82Af6dA4Fd23ca5219132a7D941B4fe3#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x12c0163237819Eb81c469F71Ea0672e3e8dbF6dB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0x923C930e50dA9C97cc151D072681C30D423c9dfC"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0x923C930e50dA9C97cc151D072681C30D423c9dfC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x12c0163237819Eb81c469F71Ea0672e3e8dbF6dB#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x46B6462301182B393ac5f014779687d3B6d4FB57",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0xBA5eFa428c1b281FF4A40e81479bdcBB83119A63"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0x7fbC83A3e374E4D334A32029ffE4641c8045be1D"
]
},
{
"timestamp": 1746452666,
"transactionHash": "0xc482ea9dc5e8e9c3c826ff993b9febcaa1dd0e7d941121964024a2cbd837ba6d",
"implementations": [
"arb1:0xBA5eFa428c1b281FF4A40e81479bdcBB83119A63"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x46B6462301182B393ac5f014779687d3B6d4FB57#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x0BEfa8F5F1e3bf8e02d874375A43EA75AeD9CD39",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0BEfa8F5F1e3bf8e02d874375A43EA75AeD9CD39#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x0Ecfe9f90a06F74935f751077E24C2057B7C9a2f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0Ecfe9f90a06F74935f751077E24C2057B7C9a2f#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x3537Ab400c0275c93569d2c505ADb72804985393",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3537Ab400c0275c93569d2c505ADb72804985393#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x67B01721383baedF4b27B745bf533F6F7bDc4AE4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0x98844862956849E19503878A302F46838bD77b85"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0x98844862956849E19503878A302F46838bD77b85"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x67B01721383baedF4b27B745bf533F6F7bDc4AE4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x8711CA24591aEF3bEEC3A9cB9CE41939822366f3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8711CA24591aEF3bEEC3A9cB9CE41939822366f3#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x9A3464863213C218D7cb7BaA6e69C0461E0Cbc08",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9A3464863213C218D7cb7BaA6e69C0461E0Cbc08#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xbBe221554441F1d2d5A963A67789ce5893dCf451",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xbBe221554441F1d2d5A963A67789ce5893dCf451#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b#code"
}
]
},
"escrows": [
{
"address": "0xC1bf6E0Ac80e92A331c4D448652C4824D4195459",
"sinceTimestamp": 1723162185,
"tokens": [],
"contract": {
"isVerified": true,
"address": "arb1:0xC1bf6E0Ac80e92A331c4D448652C4824D4195459",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xf201805BD417f9E0d229A0C379c3e5B91bf18A8b"
],
"implementations": [
"arb1:0xeF960375235AbFab045c4A7324295612739569EB"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1723162185,
"transactionHash": "0x74a7d47d00c5aaffa51d86eb0d5ac1273332a17730ccbd9ee303253521f03a15",
"implementations": [
"arb1:0xF0bb18D200D4CB7b36853Eaa0D902F729B4602AB"
]
},
{
"timestamp": 1745530799,
"transactionHash": "0x1886d4d0e9c54cd3e04d16cad30e1f4041ae2a109c2341587f8c5736e4ad6ca0",
"implementations": [
"arb1:0xeF960375235AbFab045c4A7324295612739569EB"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xC1bf6E0Ac80e92A331c4D448652C4824D4195459#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"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": []
}
+0 -50
+0 -50
{
"creator": "Matter Labs",
"projectsForTvs": [
{
"projectId": "zklinknova",
"sinceTimestamp": 1709217961
},
{
"projectId": "zksync2",
"sinceTimestamp": 1689544800
},
{
"projectId": "abstract",
"sinceTimestamp": 1737932400
},
{
"projectId": "sophon",
"sinceTimestamp": 1734476400
},
{
"projectId": "cronoszkevm",
"sinceTimestamp": 1723672800
},
{
"projectId": "zeronetwork",
"sinceTimestamp": 1731366000
},
{
"projectId": "lens",
"sinceTimestamp": 1743717600
},
{
"projectId": "wonder",
"sinceTimestamp": 1746741600
},
{
"projectId": "zkcandy",
"sinceTimestamp": 1743976800
},
{
"projectId": "grvt",
"sinceTimestamp": 1734649200
},
{
"projectId": "lachain",
"sinceTimestamp": 1747692000
},
{
"projectId": "sxt",
"sinceTimestamp": 1746741600
}
],
"proofSystemInfo": "\n ## Description\n\n Boojum is a proving system operating on [EraVM](https://matter-labs.github.io/zksync-era/core/latest/guides/advanced/12_alternative_vm_intro.html) ISA and supporting [zk stack](https://zkstack.io) chains. It includes recursive STARK proving of zkVM execution, as well as the final wrap with [Plonk](https://github.com/matter-labs/franklin-crypto/tree/dev/src/plonk) or [Fflonk](https://github.com/matter-labs/zksync-crypto/blob/main/crates/fflonk/docs/spec.pdf) SNARK proving system. Boojum targets [100 bits of security](https://github.com/matter-labs/era-boojum?tab=readme-ov-file#for-curions-in-benchmarks-only).\n\n ## Proof system\n\n ### zkVM component\n\n [Boojum](https://github.com/matter-labs/era-boojum/tree/main)'s core is an implementation of the [**Redshift**](https://eprint.iacr.org/2019/1400.pdf) protocol which uses the Plonk IOP with a polynomial commitment scheme based on List Polynomial Commitments (LPCs), which is in turn based on FRI, making the scheme transparent. The scheme makes use of the Goldilocks field, which is much smaller than BN254's field. This part of boojum implements a zkVM for EraVM, which is closely aligned with EVM but has essential differences like 16 registers.\n\n ### Recursion circuits\n\n The protocol makes use of several layers of recursive proof aggregation for 15 types of [circuits](https://github.com/matter-labs/era-zkevm_test_harness/blob/3cd647aa57fc2e1180bab53f7a3b61ec47502a46/circuit_definitions/src/circuit_definitions/recursion_layer/mod.rs#L29). In particular, node and scheduler circuits aggregate zk proofs and compressor and wrapper circuits reduce the final proof size. Further information about the aggregation architecture can be found [**here**](https://github.com/matter-labs/zksync-era/blob/1b61d0797062ab8b0aa2c1e92b23a3a0d8fd2c61/docs/guides/advanced/15_prover_keys.md#circuits).\n\n ### Final wrap\n\n The final proof could either be wrapped into a [Plonk](https://github.com/matter-labs/era-zkevm_test_harness/blob/3cd647aa57fc2e1180bab53f7a3b61ec47502a46/circuit_definitions/src/circuit_definitions/aux_layer/wrapper.rs)+KZG proof, or into [Fflonk](https://github.com/matter-labs/zksync-crypto/tree/main/crates/fflonk)+KZG for cheap verification. The KZG commitment is done over BN254 curve and it uses Aztec Ignition trusted setup ceremony, see [below](#trusted-setups) for more details.\n ",
"techStack": {
"zkVM": [
{
"id": "Boojum",
"type": "STARK",
"name": "Boojum",
"description": "zkVM STARK proving system developed by Matter Labs for proving state transition of ZKsync Era."
},
{
"id": "EraVM",
"type": "ISA",
"name": "EraVM",
"description": "Instruction language for ZKsync Era virtual machine."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
}
],
"finalWrap": [
{
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
{
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0xe4503cf38485e3d728a7362155d53d3d63293e2fa48dca4f5588aa4625de251f",
"name": "Boojum Fflonk Lens verifier",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/f57999997f581b557cf8e36e3a9be5650d992022/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct commit hash is `f57999997f581b557cf8e36e3a9be5650d992022`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout f57999997f581b557cf8e36e3a9be5650d992022\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
},
{
"hash": "0x6f36a08c517b060fa97308cdb3e23b04842ff839d451a753ec8fae1a5408304a",
"name": "Boojum Fflonk core-v29.1.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.1.0/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "eth:0x1AC4F629Fdc77A7700B68d03bF8D1A53f2210911"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.1.0`, commit hash `3b61f62b3361404c0c94635caee68c855ce2b9f8`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout core-v29.1.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
},
{
"hash": "0x93e83aa1ec05a2ac4de1f0b241394efb9f94a4e7c1784a5a9bf6b85eb930c62a",
"name": "Boojum Plonk Lens verifier",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/f57999997f581b557cf8e36e3a9be5650d992022/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct commit hash is `f57999997f581b557cf8e36e3a9be5650d992022`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout f57999997f581b557cf8e36e3a9be5650d992022\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0x64b347c642ea60114c98b3976124ea8a7e0bb778bd7e479aedc02f994486c8a1",
"name": "Boojum Plonk prover-v22.0.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/prover-v22.0.0/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "eth:0x2db2ffdecb7446aaab01FAc3f4D55863db3C5bd6"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `prover-v22.0.0`, commit hash `157045b4f67546629fc2f7fb32cbbcb4daa2054d`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout prover-v22.0.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0x8574e152c41dc39a2ecab984545e1cf21cb3ec250b919018a8053f2fa270784f",
"name": "Boojum Plonk zkLinkNova verifier",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "linea:0x902C3806A84f4e855a8746e92d7F1C9a51400458"
}
],
"verificationStatus": "notVerified"
},
{
"hash": "0x49eae0bf5c7ea580f4979b366e52b386adc5f42e2ce50fc1d3c4de9a86052bff",
"name": "Boojum Fflonk core-v29.4.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.4.0/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "eth:0xD324a7c8556A059371B207fB96FD77bE24E2042c"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.4.0`, commit hash `fe0a73730853b291c3c1dd514a42a45625704b7b`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout core-v29.4.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
},
{
"hash": "0x1ffc56111a5cfaf5db387f6a31408ad20217e9bc1f31f2f5c1bd38b0d6d7968b",
"name": "Boojum Plonk prover-v23.2.0",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/prover-v23.2.0/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "eth:0xe201837d151E5aC33Af3305f287Ad6F6a7Dfccd7"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `prover-v23.2.0`, commit hash `2b188cd7ac139430d3cb1f27babc9693a2c83df6`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout prover-v23.2.0\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0xb2f50340e0edbe49dc657d4eb298e07f13860c1be0fe2e438e44ef8fad133d84",
"name": "Boojum Plonk core-v29.11.1",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.11.1/prover",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "eth:0x7f33D100f482093182111d69a4a457289e99f4ec"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n Verification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \n The setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n \n 1. Install rust, yarn, some essential libraries, docker and cmake:\n \n ```\n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n \n curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\n export NVM_DIR=$HOME/.nvm\n . .bashrc\n nvm install 20\n npm install -g yarn\n yarn set version 1.22.19\n \n sudo apt-get update\n sudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\n cargo install sqlx-cli --version 0.8.1\n \n # install the latest version of cmake\n sudo apt remove cmake\n curl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\n sudo apt-get install cmake\n ```\n \n 2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n \n ```\n sudo apt-get install gcc-12 g++-12\n sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\n sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n \n wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\n sudo dpkg -i cuda-keyring_1.1-1_all.deb\n sudo apt-get update\n sudo apt-get install -y cuda-drivers-535\n sudo apt-get install -y cuda-toolkit-12-2\n ```\n \n Reboot the machine to apply the drivers.\n \n 3. Install `foundryup-zksync`.\n \n ```\n curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n . ~/.bashrc\n foundryup-zksync\n ```\n \n 4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n ```\n export CUDA_HOME=/usr/local/cuda\n export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\n export PATH=$PATH:$CUDA_HOME/bin\n \n git clone https://github.com/matter-labs/era-bellman-cuda.git\n cd era-bellman-cuda\n git checkout prerelease-dev-a87a309\n git submodule update --init --recursive\n cmake -B./build -DCMAKE_BUILD_TYPE=Release\n cmake --build ./build\n export BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n ```\n \n 5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.11.1`, commit hash `3f71cb2230fb9c365c095ce7bcf3373ea63fbec2`.\n ```\n cd ~ \n git clone https://github.com/matter-labs/zksync-era.git\n cd zksync-era/\n git checkout core-v29.11.1\n \n # Download compact CRS for the compressor data step, put in repo root\n curl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\n export COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n \n cd prover/crates/bin/vk_setup_data_generator_server_fri\n CRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n \n # Run regeneration steps\n cargo run --release --bin key_generator generate-vk\n cargo run --features gpu --release --bin key_generator generate-compressor-data\n ```\n \n The output of the last command will contain the required `snark_wrapper` value.\n "
},
{
"hash": "0xc8cd705a0db89577146137de78eba6bd1f1c9c3f66dc52f7627e7c2df30895b2",
"name": "Boojum Fflonk core-v29.11.1",
"sourceLink": "https://github.com/matter-labs/zksync-era/tree/core-v29.11.1/prover",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nVerification requires an Ubuntu 22.04 machine with an NVIDIA GPU. We used a g6.4xlarge aws instance with 24 GiB GPU memory and 64 GiB RAM. \nThe setup part is based on [this guide](https://paragraph.com/@zksync/from-integration-to-verification-completing-the-first-steps-in-zksync-s-prover-network) with modifications, the verification is done using [this script](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri).\n\n1. Install rust, yarn, some essential libraries, docker and cmake:\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\ncurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash\nexport NVM_DIR=$HOME/.nvm\n. .bashrc\nnvm install 20\nnpm install -g yarn\nyarn set version 1.22.19\n\nsudo apt-get update\nsudo apt-get install -y build-essential pkg-config cmake clang lldb lld libssl-dev postgresql apt-transport-https ca-certificates curl software-properties-common\ncargo install sqlx-cli --version 0.8.1\n\n# install the latest version of cmake\nsudo apt remove cmake\ncurl -fsSL https://apt.kitware.com/kitware-archive.sh | sudo sh\nsudo apt-get install cmake\n```\n\n2. Install CUDA drivers and toolkit 12.2, export necessary env vars. On Ubuntu 22.04 this requires updating gcc to version 12.\n\n```\nsudo apt-get install gcc-12 g++-12\nsudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100\nsudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100\n\nwget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb\nsudo dpkg -i cuda-keyring_1.1-1_all.deb\nsudo apt-get update\nsudo apt-get install -y cuda-drivers-535\nsudo apt-get install -y cuda-toolkit-12-2\n```\n\nReboot the machine to apply the drivers.\n\n3. Install `foundryup-zksync`.\n\n```\ncurl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash\n. ~/.bashrc\nfoundryup-zksync\n```\n\n4. Build bellman-cuda. We used the tag version `prerelease-dev-a87a309`, commit hash `a87a309e7c07ef6b3fc5532e50d5d244aab9f4d0`.\n```\nexport CUDA_HOME=/usr/local/cuda\nexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\nexport PATH=$PATH:$CUDA_HOME/bin\n\ngit clone https://github.com/matter-labs/era-bellman-cuda.git\ncd era-bellman-cuda\ngit checkout prerelease-dev-a87a309\ngit submodule update --init --recursive\ncmake -B./build -DCMAKE_BUILD_TYPE=Release\ncmake --build ./build\nexport BELLMAN_CUDA_DIR=$HOME/era-bellman-cuda\n```\n\n5. Run all scripts to regenerate verification keys. The correct tag version of the repo is `core-v29.11.1`, commit hash `3f71cb2230fb9c365c095ce7bcf3373ea63fbec2`.\n```\ncd ~ \ngit clone https://github.com/matter-labs/zksync-era.git\ncd zksync-era/\ngit checkout core-v29.11.1\n\n# Download compact CRS for the compressor data step, put in repo root\ncurl -o setup_compact.key https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_compact.key\nexport COMPACT_CRS_FILE=~/zksync-era/setup_compact.key\n\ncd prover/crates/bin/vk_setup_data_generator_server_fri\nCRS_FILE=https://storage.googleapis.com/matterlabs-setup-keys-us/setup-keys/setup_2^24.key ZKSYNC_HOME=$HOME \n\n# Run regeneration steps\ncargo run --release --bin key_generator generate-vk\ncargo run --features gpu --release --bin key_generator generate-compressor-data\n```\n\nThe output of the last command will contain the required `fflonk_snark_wrapper` value.\n "
}
]
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x4967284E726eC01b26cc33c09486C0C2C0C35Efa",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x7EA78566fD17a324460d02A74d0054186A0D8966"
],
"implementations": [
"eth:0xF03E906616EBD6D3360DA1086D06fEC651B6C558",
"eth:0x0568880e59d04c1142b19E141A14B5a5a87300F9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0xF03E906616EBD6D3360DA1086D06fEC651B6C558",
"eth:0x0568880e59d04c1142b19E141A14B5a5a87300F9"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 3\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 3\n * **validators**: EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4967284E726eC01b26cc33c09486C0C2C0C35Efa#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xAAAA894f556D0eE585773190114CED3d491C0F72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x888Ee1F493782E40dF65df6412f811F6bA2E705B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x888Ee1F493782E40dF65df6412f811F6bA2E705B"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAAAA894f556D0eE585773190114CED3d491C0F72#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xdF41d94e28AA0bB35471225121BDBA710DdaF068",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0xd13c64Be3d3f777073c5272b6f61765c6d48608a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0xd13c64Be3d3f777073c5272b6f61765c6d48608a"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3\n * **batchPosterManager**: EOA 2\n * **batchPosters**: EOA 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdF41d94e28AA0bB35471225121BDBA710DdaF068#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xe34ab1e33cfc114ede16212CaB41D64a379d6619",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x70FeB721eedCe11744Ad481FC5D5b5DB69bB0eeD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x70FeB721eedCe11744Ad481FC5D5b5DB69bB0eeD"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe34ab1e33cfc114ede16212CaB41D64a379d6619#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x7EA78566fD17a324460d02A74d0054186A0D8966",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x01F4cA6c8EbC5f79f96082592150a48ed475448D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x01F4cA6c8EbC5f79f96082592150a48ed475448D"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3\n * **executors**: Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7EA78566fD17a324460d02A74d0054186A0D8966#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x89AB6919680c66C60968B9c5f0614fC09Aab7EE1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x8F8487EE298d9f369Cc4E76FE378A3b4e9f31A03"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x8F8487EE298d9f369Cc4E76FE378A3b4e9f31A03"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x89AB6919680c66C60968B9c5f0614fC09Aab7EE1#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xEf06DEbcD295ACc3E65de85a741FA192565C3df2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf06DEbcD295ACc3E65de85a741FA192565C3df2#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x59E12ED1f3944A6f7aabA9Bd60b51ca5A082D10d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x59E12ED1f3944A6f7aabA9Bd60b51ca5A082D10d#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x5dcD904cea14Aa19f09A8279C9c39a447970005a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5dcD904cea14Aa19f09A8279C9c39a447970005a#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x69Af72D5dc7D59DF2164E07dEBba95e6f720f69f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x4Fed8f47fb24f17c5196C606DFF737Afe10576ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x4Fed8f47fb24f17c5196C606DFF737Afe10576ad"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x69Af72D5dc7D59DF2164E07dEBba95e6f720f69f#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x7811670b42d6e6C7E430F5d4B2097D6832E0B153",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7811670b42d6e6C7E430F5d4B2097D6832E0B153#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x81fc46411C903d8c82216d2702b8F5a17B658da3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x81fc46411C903d8c82216d2702b8F5a17B658da3#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x8c65B044283d6423E9a4359AD79d711f9930f948",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8c65B044283d6423E9a4359AD79d711f9930f948#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD3483861e9217E20eC766E3171B58b5202859aDF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD3483861e9217E20eC766E3171B58b5202859aDF#code"
}
]
},
"escrows": [
{
"address": "0xAAAA894f556D0eE585773190114CED3d491C0F72",
"sinceTimestamp": 1758919631,
"tokens": [
"CAPX"
],
"contract": {
"isVerified": true,
"address": "eth:0xAAAA894f556D0eE585773190114CED3d491C0F72",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xCEe383Aa9287D349aa965DF9Ed6e0B582970B2c3"
],
"implementations": [
"eth:0x888Ee1F493782E40dF65df6412f811F6bA2E705B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758919631,
"transactionHash": "0x0474a29ab9c6095c2cad6329b9b9315d5f5e3018d82f589c76e7f64d2eee2972",
"implementations": [
"eth:0x888Ee1F493782E40dF65df6412f811F6bA2E705B"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows CAPX sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xAAAA894f556D0eE585773190114CED3d491C0F72#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x09eD7e66Dd7c7129Ec3994498A521B502Ca7D61b",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x8672705351C81f40B55b1ac2A1998de66166d0eA"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately CornMultisig\n * **getValidators**: EOA 1\n * **owner**: UpgradeExecutor; ultimately CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x09eD7e66Dd7c7129Ec3994498A521B502Ca7D61b#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x4ad144ea249A98F77e0b78104D3B6eB6cd3a76DA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0x46FaF6838Bbf770986f073348D41881D5e54Fb0F"
]
},
{
"timestamp": 1746551747,
"transactionHash": "0xaa90fa8f865acd5f13e46ab7aa76d3eee29a749c04601905433d8229ef00cd6e",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4ad144ea249A98F77e0b78104D3B6eB6cd3a76DA#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x7E31f112d340a4D0cB0e4bD82f2853089d1bF10C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7E31f112d340a4D0cB0e4bD82f2853089d1bF10C#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x90f6C3e6C11959A01eDc6ea392e6f659605b4237",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x90f6C3e6C11959A01eDc6ea392e6f659605b4237#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x8672705351C81f40B55b1ac2A1998de66166d0eA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig\n * **executors**: CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8672705351C81f40B55b1ac2A1998de66166d0eA#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x2a3C554f212E3e0c78eaF0808f5313A10542dA2d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3C554f212E3e0c78eaF0808f5313A10542dA2d#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x37693F11f3D724E55D0B03D5F328D8202C913243",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0x85a77E293a81d4C35F304951e41378E5e43d1f53"
]
},
{
"timestamp": 1746551747,
"transactionHash": "0xaa90fa8f865acd5f13e46ab7aa76d3eee29a749c04601905433d8229ef00cd6e",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x37693F11f3D724E55D0B03D5F328D8202C913243#code"
},
{
"name": "wBTC Escrow",
"isVerified": true,
"address": "eth:0x00943b11764176C3a8323aEFCBd6fE70CFb6272d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733923955,
"transactionHash": "0x63d4001fb7cdf2ba7f9f7676aea9faa930386e18f9d2fc3ede0018ec9c2676d8",
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x00943b11764176C3a8323aEFCBd6fE70CFb6272d#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "Governor",
"isVerified": true,
"address": "eth:0x515C7d8Fcb950f8b030ac08C994b37b4b8F3F7B5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x515C7d8Fcb950f8b030ac08C994b37b4b8F3F7B5#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x6282197777e7c318C7209bd7059110886aa429C6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CornMultisig",
"upgradableBy": [
{
"name": "CornMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6282197777e7c318C7209bd7059110886aa429C6#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "cbBTC Escrow",
"isVerified": true,
"address": "eth:0x957C9DC25DE6B8E46a7Fa0D081bA749DD005B54f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733924495,
"transactionHash": "0x9d8d2344c0868f1f5360eab04ddec9836578425008fc49a62bb8bdc90ce0291a",
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x957C9DC25DE6B8E46a7Fa0D081bA749DD005B54f#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84#code"
}
]
},
"escrows": [
{
"address": "0x7E31f112d340a4D0cB0e4bD82f2853089d1bF10C",
"sinceTimestamp": 1732011899,
"tokens": [],
"contract": {
"isVerified": true,
"address": "eth:0x7E31f112d340a4D0cB0e4bD82f2853089d1bF10C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xEE9924C5fd94601C80fF8010f577C9f7f3C20B84"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1732011899,
"transactionHash": "0x56c413a7d108bbff0a883e83fe08c6150bc54428a3b82525d05dd0b4ca144c4b",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1771602851,
"transactionHash": "0x657c22e5b9be1d565e6464915276bcc262e66aac6ba82ffa73d1de7688204981",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7E31f112d340a4D0cB0e4bD82f2853089d1bF10C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x00943b11764176C3a8323aEFCBd6fE70CFb6272d",
"sinceTimestamp": 1733923955,
"tokens": [
"WBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x00943b11764176C3a8323aEFCBd6fE70CFb6272d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733923955,
"transactionHash": "0x63d4001fb7cdf2ba7f9f7676aea9faa930386e18f9d2fc3ede0018ec9c2676d8",
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
}
],
"description": "This vault escrows the WBTC backing BTCN, Corn's gastoken. Users can directly bridge via LayerZero when minting BTCN in this contract.",
"url": "https://etherscan.io/address/0x00943b11764176C3a8323aEFCBd6fE70CFb6272d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "LayerZero v2 OFT",
"slug": "layerzerov2oft"
}
]
},
"chainId": 1
},
{
"address": "0x957C9DC25DE6B8E46a7Fa0D081bA749DD005B54f",
"sinceTimestamp": 1733924495,
"tokens": [
"cbBTC"
],
"contract": {
"isVerified": true,
"address": "eth:0x957C9DC25DE6B8E46a7Fa0D081bA749DD005B54f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733924495,
"transactionHash": "0x9d8d2344c0868f1f5360eab04ddec9836578425008fc49a62bb8bdc90ce0291a",
"implementations": [
"eth:0xbE28926dAaD466B27C5Dea3A92797F0823e3737C"
]
}
],
"description": "This vault escrows the cbBTC backing BTCN, Corn's gastoken. Users can directly bridge via LayerZero when minting BTCN in this contract.",
"url": "https://etherscan.io/address/0x957C9DC25DE6B8E46a7Fa0D081bA749DD005B54f#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "LayerZero v2 OFT",
"slug": "layerzerov2oft"
}
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "base:0x6216dD1EE27C5aCEC7427052d3eCDc98E2bc2221",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0x5ad3e9141D0EAd2132afFF0CD74487964cE9135A"
]
},
{
"timestamp": 1719879137,
"transactionHash": "0xc313d7714edf75e41115f458d8704acc2174d14247b8944202d64dd32d678fa7",
"implementations": [
"base:0x98DB769A9E15D66EA04665da0dF616596c296BA8"
]
},
{
"timestamp": 1746650461,
"transactionHash": "0xcae4abe1fb86f2d6e7db916c62b946b605a8ae100571f7db7ccccab07b2b1f3b",
"implementations": [
"base:0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x6216dD1EE27C5aCEC7427052d3eCDc98E2bc2221#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "base:0x67812161Bbb6aCF891aA6028BC614a660961ceD8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0x5C2950Bd136716540e1F5CF442f2AB0aD2F413A7"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0x9Db0bB898C500DD84C7c7bd7fFFFE914569a6677"
]
},
{
"timestamp": 1719879137,
"transactionHash": "0xc313d7714edf75e41115f458d8704acc2174d14247b8944202d64dd32d678fa7",
"implementations": [
"base:0x377A5b786E94cAcdcB2B309451C373c8F2166A79"
]
},
{
"timestamp": 1736796675,
"transactionHash": "0xd67a1ccd5e97907f82409a506ecc0d1ae8b8963ab6ced7f837b9643375be4f26",
"implementations": [
"base:0x5C2950Bd136716540e1F5CF442f2AB0aD2F413A7"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x67812161Bbb6aCF891aA6028BC614a660961ceD8#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "base:0xD34F3a11F10DB069173b32d84F02eDA578709143",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"base:0xaA3A7A2ec2477A61082E1C41a2c6710587917028"
],
"implementations": [
"base:0xb760B98D6256F8D135cEB738Eb9A9E44Af9B3b41",
"base:0x747D88df773721558575BA29fEf11FE28ED25266"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0x3A59b13eB3F661DE35a1e203Bd12b3B4123976cf",
"base:0xB7202d306936B79Ba29907b391faA87D3BEec33A"
]
},
{
"timestamp": 1736796675,
"transactionHash": "0xd67a1ccd5e97907f82409a506ecc0d1ae8b8963ab6ced7f837b9643375be4f26",
"implementations": [
"base:0xb760B98D6256F8D135cEB738Eb9A9E44Af9B3b41",
"base:0x747D88df773721558575BA29fEf11FE28ED25266"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately AlchemyMultisig2\n * **anyTrustFastConfirmer**: DegenFastConfirmerMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately AlchemyMultisig2\n * **validators**: DegenFastConfirmerMultisig, EOA 1; ultimately EOA 1",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xD34F3a11F10DB069173b32d84F02eDA578709143#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "base:0xEfEf4558802bF373Ce3307189C79a9cAb0a4Cb9C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0xf48cBc0e2Bd8d9ED8d76A54A3672bbb6e07Cf6D0"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0xc00336Cdf86AE7AD58D8773B0114082C190D28D5"
]
},
{
"timestamp": 1746570979,
"transactionHash": "0xb5cacac7e409b6c786dc0e6e3d171a2f6ea8758fda7637fa88c333aa5817d35d",
"implementations": [
"base:0xf48cBc0e2Bd8d9ED8d76A54A3672bbb6e07Cf6D0"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xEfEf4558802bF373Ce3307189C79a9cAb0a4Cb9C#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "base:0xaA3A7A2ec2477A61082E1C41a2c6710587917028",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0x3C4DF76De31816443C207E49F9fE48737C8F2746"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0x3C4DF76De31816443C207E49F9fE48737C8F2746"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2\n * **executors**: AlchemyMultisig2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xaA3A7A2ec2477A61082E1C41a2c6710587917028#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "base:0x21A1e2BFC61F30F2E81E0b08cd37c1FC7ef776E7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0xa9Fa7dFC5885E83af241c31c865d5f59eD4669d5"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0xcA00Db0289131B71A6624f62666bd54305697BB2"
]
},
{
"timestamp": 1746650461,
"transactionHash": "0xcae4abe1fb86f2d6e7db916c62b946b605a8ae100571f7db7ccccab07b2b1f3b",
"implementations": [
"base:0xa9Fa7dFC5885E83af241c31c865d5f59eD4669d5"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x21A1e2BFC61F30F2E81E0b08cd37c1FC7ef776E7#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "base:0xe63ddb12FBb6211a73F12a4367b10dA0834B82da",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0x20fA6358f89Ed16d48F6588a8f500887354Ff56c"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0x20fA6358f89Ed16d48F6588a8f500887354Ff56c"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xe63ddb12FBb6211a73F12a4367b10dA0834B82da#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "base:0x15D2a9A14de6Ea03AADE944641eAb497a3A4c9DF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x15D2a9A14de6Ea03AADE944641eAb497a3A4c9DF#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "base:0x173FCB92df1854c3B78dC8696C23B1c88437b892",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x173FCB92df1854c3B78dC8696C23B1c88437b892#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "base:0x23b0348788b96ee1cE4e7DdED4AC2A99de516F51",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x23b0348788b96ee1cE4e7DdED4AC2A99de516F51#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "base:0x320e29bc3f34bc6B8834bBD2B6b013ef6620E69F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x320e29bc3f34bc6B8834bBD2B6b013ef6620E69F#code"
},
{
"name": "UTBDecent",
"isVerified": true,
"address": "base:0x43019F8BE1F192587883b67dEA2994999f5a2de2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "The UTB contract serves as an L2<->L3 gateway by integrating with Decent (LayerZero app) to allow bridging and swapping in- and out of Degen L3. This is achieved using external modules (smart contracts) like swappers and bridgers that can be registered in the UTB contract.\n* Roles:\n * **cessControl**: EOA 4",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x43019F8BE1F192587883b67dEA2994999f5a2de2#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "base:0x766DD3A13d17C6D175975C89225bde89F052dBc4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0x4326B3755539d35b0A8846bF9b33982A8eA42c93"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0x4326B3755539d35b0A8846bF9b33982A8eA42c93"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2",
"upgradableBy": [
{
"name": "AlchemyMultisig2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x766DD3A13d17C6D175975C89225bde89F052dBc4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "base:0x97ba9522f2e5D67e96FeA6B612e794dc96637AAc",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x97ba9522f2e5D67e96FeA6B612e794dc96637AAc#code"
},
{
"name": "OrbitERC20OFTAdapter",
"isVerified": true,
"address": "base:0xDb8E759859058952c34953c8469f464109826e52",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "As a designated allowed outbox, this contract can access all funds of the canonical bridge escrow. It also interfaces with the LayerZero AMB, giving this external bridge access to the Degen L3 canonical bridge and making canonical bridge security dependent on LayerZero security.\n* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xDb8E759859058952c34953c8469f464109826e52#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "base:0xDf6C4562e853C4F775285710B467e2EE4Ca8D22c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xDf6C4562e853C4F775285710B467e2EE4Ca8D22c#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0xFB48D385Fa3da33762B350e1d705b9E46054E677",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xFB48D385Fa3da33762B350e1d705b9E46054E677#code"
}
]
},
"escrows": [
{
"address": "0xEfEf4558802bF373Ce3307189C79a9cAb0a4Cb9C",
"sinceTimestamp": 1710087441,
"tokens": [
"DEGEN"
],
"contract": {
"isVerified": true,
"address": "base:0xEfEf4558802bF373Ce3307189C79a9cAb0a4Cb9C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xFB48D385Fa3da33762B350e1d705b9E46054E677"
],
"implementations": [
"base:0xf48cBc0e2Bd8d9ED8d76A54A3672bbb6e07Cf6D0"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710087441,
"transactionHash": "0x85708428ba3eb696c32b3e634fed7ac46016b61d6c0df46959a494d6ecc2bdec",
"implementations": [
"base:0xc00336Cdf86AE7AD58D8773B0114082C190D28D5"
]
},
{
"timestamp": 1746570979,
"transactionHash": "0xb5cacac7e409b6c786dc0e6e3d171a2f6ea8758fda7637fa88c333aa5817d35d",
"implementations": [
"base:0xf48cBc0e2Bd8d9ED8d76A54A3672bbb6e07Cf6D0"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows DEGEN sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xEfEf4558802bF373Ce3307189C79a9cAb0a4Cb9C#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the security stack of the whitelisted LayerZero adapter changes or is compromised.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x383eFE8D410285c5CbE1B4F296022640759aA834",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xC6adDa3fa1a2Cb75d585eCfE14e1E1Db102B4126"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0x09824fe72BFF474d16D9c2774432E381BBD60662"
]
},
{
"timestamp": 1747879152,
"transactionHash": "0x64f376646580d25cc092327877e062bbd953ecbfa7600864478b6aec7ffb97ff",
"implementations": [
"arb1:0x16a278342b5521F56849e877294203dF9683F678"
]
},
{
"timestamp": 1747879642,
"transactionHash": "0x675c13b89d4e518aa8211acf9ebcdc1d1e47afa7476f20263dbb7660d42949c6",
"implementations": [
"arb1:0xC6adDa3fa1a2Cb75d585eCfE14e1E1Db102B4126"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x383eFE8D410285c5CbE1B4F296022640759aA834#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x846387C3D6001F74170455B1074D01f05eB3067a",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9"
],
"implementations": [
"arb1:0xFD72BF47Ee50c9ED583acdd20672f29631eBa587",
"arb1:0x140240BD6de2b4Cfa78c247b2cad5d507892DE02"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1747879642,
"transactionHash": "0x675c13b89d4e518aa8211acf9ebcdc1d1e47afa7476f20263dbb7660d42949c6",
"implementations": [
"arb1:0xFD72BF47Ee50c9ED583acdd20672f29631eBa587",
"arb1:0x140240BD6de2b4Cfa78c247b2cad5d507892DE02"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately EOA 1\n * **validators**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x846387C3D6001F74170455B1074D01f05eB3067a#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xE742BbD0dD0A9E2cc6dB4C8d363DF06801A85887"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1747879152,
"transactionHash": "0x64f376646580d25cc092327877e062bbd953ecbfa7600864478b6aec7ffb97ff",
"implementations": [
"arb1:0xeE5a0A8e5d08474F21933d17f4EE076B3eAdBaAB"
]
},
{
"timestamp": 1750299330,
"transactionHash": "0x6f84858d5890cc27277102d07d76b6db8b418675c23feccb0582ae91a7cfc598",
"implementations": [
"arb1:0xE742BbD0dD0A9E2cc6dB4C8d363DF06801A85887"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **executors**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xA597e0212971e65f53f288Ff1fFd26A6C8201f83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA597e0212971e65f53f288Ff1fFd26A6C8201f83#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0xB155C77a440DA7c282993a89FeA609598293017A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xA8531c989b2f8531e123F1daf2edAe83bf4aa190"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700371966,
"transactionHash": "0x49196afe9792981c6f4b014481dba1633a2bd3ab8246a1cd4f0518856ecf829b",
"implementations": [
"arb1:0xA8531c989b2f8531e123F1daf2edAe83bf4aa190"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB155C77a440DA7c282993a89FeA609598293017A#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xFF55fB76F5671dD9eB6c62EffF8D693Bb161a3ad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xBaf02424c26b01214aBdeB7F5660C77D8F26C18d"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0x8f6406781cC955398C45a48DcEfeEBDb2c8e2CaA"
]
},
{
"timestamp": 1750299330,
"transactionHash": "0x6f84858d5890cc27277102d07d76b6db8b418675c23feccb0582ae91a7cfc598",
"implementations": [
"arb1:0xBaf02424c26b01214aBdeB7F5660C77D8F26C18d"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xFF55fB76F5671dD9eB6c62EffF8D693Bb161a3ad#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0xa8f6bB820eaD521cf834B7b371cFe025bdacEE99",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0x7785047A920B43d23D181C6E68fa9405c874997c"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700371966,
"transactionHash": "0x49196afe9792981c6f4b014481dba1633a2bd3ab8246a1cd4f0518856ecf829b",
"implementations": [
"arb1:0x7785047A920B43d23D181C6E68fa9405c874997c"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa8f6bB820eaD521cf834B7b371cFe025bdacEE99#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0xe507b9EF563DB6CcFDcE270160C50b2005BeED20",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0x2fB33D8e4a8E989E7814D914973096736ed718b5"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700371966,
"transactionHash": "0x49196afe9792981c6f4b014481dba1633a2bd3ab8246a1cd4f0518856ecf829b",
"implementations": [
"arb1:0x2fB33D8e4a8E989E7814D914973096736ed718b5"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe507b9EF563DB6CcFDcE270160C50b2005BeED20#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x0A9F7BD2182EAC312ec99AFcF684Ff40086331Ff",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0A9F7BD2182EAC312ec99AFcF684Ff40086331Ff#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x0fF7A97caAb356c5507e5355b6819CB8b93d5591",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xF40C24bA346aA459ED28e196D4A46Cf17174bD6C"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0xF40C24bA346aA459ED28e196D4A46Cf17174bD6C"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0fF7A97caAb356c5507e5355b6819CB8b93d5591#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x5e5aBaD78aa0a0773a43606A978ef53a95a2f391",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5e5aBaD78aa0a0773a43606A978ef53a95a2f391#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x742F0619adB993809B1B00E493b5bdb4085B735e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x742F0619adB993809B1B00E493b5bdb4085B735e#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0xce4b9839C83cB0650B34659B8Fa44609A45b1010",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xce4b9839C83cB0650B34659B8Fa44609A45b1010#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xd76eb58D7fA80AC6119942bA20D9bbbA94Ce66BC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd76eb58D7fA80AC6119942bA20D9bbbA94Ce66BC#code"
}
]
},
"escrows": [
{
"address": "0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"sinceTimestamp": 1700367819,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1700367819,
"transactionHash": "0xc8d7afcb2f7f7dc0883a938db4352813e17b7629850cdc54d8cc2eba7e10b095",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x3131627362AD79b3D831559E0AfC986BF60A6870",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x079840Cc8959Ef60d414E5AFC6ED0493b8eAf514"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x079840Cc8959Ef60d414E5AFC6ED0493b8eAf514"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3131627362AD79b3D831559E0AfC986BF60A6870#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x3De02cf69192f4805edE47d7fA5efa614c5A6593"
]
},
{
"timestamp": 1767709919,
"transactionHash": "0x6ba75dc2936bc08617505e2a1abc4d117e98fc03707dbce6a598331ae6e21e7c",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2\n * **batchPosters**: EOA 3",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x234e937F1a2926737b0084Fb7498772579497735"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x234e937F1a2926737b0084Fb7498772579497735"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA9F4ee72439afC704db48dc049CbFb7E914aD300#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D"
],
"implementations": [
"arb1:0xF9725312bd91CcfA3aD797e78A8A10b6d692FCd6",
"arb1:0xF916Bfe431B7A7AaE083273F5b862e00a15d60F4"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0xF9725312bd91CcfA3aD797e78A8A10b6d692FCd6",
"arb1:0xF916Bfe431B7A7AaE083273F5b862e00a15d60F4"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1, SafeL2\n * **owner**: UpgradeExecutor; ultimately EOA 1, SafeL2\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc930fd48846e956b308f28524dA2d5E14c832e33#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2\n * **executors**: EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0xCf66F830c4e5E1904B599ED61249601901E55D89"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0xCf66F830c4e5E1904B599ED61249601901E55D89"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x446626827f14F89B38D5bA1ab152B484cd7912fD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x0f728dd0217E26120A304B3Fa554C3Ba2b2aF535"
]
},
{
"timestamp": 1767709919,
"transactionHash": "0x6ba75dc2936bc08617505e2a1abc4d117e98fc03707dbce6a598331ae6e21e7c",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x446626827f14F89B38D5bA1ab152B484cd7912fD#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8D9e5bB33Da252739780e3df5F9E686fd11E0536#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xAc9348017885a132F1A0614B508F632A56B90ec4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x3e9A459089758E760bEA267aBB9485EE5b47a909"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x3e9A459089758E760bEA267aBB9485EE5b47a909"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xAc9348017885a132F1A0614B508F632A56B90ec4#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD3dE403eADdf791104918E9C9336B434AE7DDA01#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585#code"
}
]
},
"escrows": [
{
"address": "0xA9F4ee72439afC704db48dc049CbFb7E914aD300",
"sinceTimestamp": 1750157155,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x234e937F1a2926737b0084Fb7498772579497735"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x234e937F1a2926737b0084Fb7498772579497735"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xA9F4ee72439afC704db48dc049CbFb7E914aD300#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x0b6b5aFEe8602A4d88dC26Fc2E85b2d1236156F6",
"sinceTimestamp": 1745356800,
"tokens": "*",
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51.1",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "notVerified",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51.1/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51.1` . Commit hash should be `e5dab3512419c50893813f4226c0621c3bfe2bdc`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x0D51c6664A773873971336850C51A5caE8e63e89",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0D51c6664A773873971336850C51A5caE8e63e89#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x73CF739b0233027cd516998e177d473D0a45E037",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73CF739b0233027cd516998e177d473D0a45E037#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xaA9904D4d4261dc0f927306f3f5c74439eBa0b90",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xe3826907ed4f0A4F3D05d6CF5B0B8dCde91d6e0C"
],
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **validators**: EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaA9904D4d4261dc0f927306f3f5c74439eBa0b90#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xf39A1d1Bf489bA959ca6A0e6Fa4A1887Fe526c81",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf39A1d1Bf489bA959ca6A0e6Fa4A1887Fe526c81#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xe3826907ed4f0A4F3D05d6CF5B0B8dCde91d6e0C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe3826907ed4f0A4F3D05d6CF5B0B8dCde91d6e0C#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xeb8307Fc8c1bEe7DfDCedf7e8c85778a81CB150f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeb8307Fc8c1bEe7DfDCedf7e8c85778a81CB150f#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xf2dC65BdDb21c5DCC070067434D34a342907b5aE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf2dC65BdDb21c5DCC070067434D34a342907b5aE#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17e7F68ce50A77e55C7834ddF31AEf86403B8010#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x191738BDecD7f73a79F64D689cf91ef873fb4172",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x191738BDecD7f73a79F64D689cf91ef873fb4172#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3b7F26ED562e21277c86ea0Ce40BC914653a3555#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x57EA090Ac0554d174AE0e2855B460e84A1A7C221",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57EA090Ac0554d174AE0e2855B460e84A1A7C221#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x72B166070781a552D7b95a907eF59ca05d3D5a62",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72B166070781a552D7b95a907eF59ca05d3D5a62#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8b73Ef238ADaB31EBC7c05423d243c345241a22f#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38#code"
}
]
},
"escrows": [
{
"address": "0x73CF739b0233027cd516998e177d473D0a45E037",
"sinceTimestamp": 1713462371,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x73CF739b0233027cd516998e177d473D0a45E037",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3b7F26ED562e21277c86ea0Ce40BC914653a3555"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713462371,
"transactionHash": "0x62f1d649d74d268d5876162bb0fcc38bf9c32308b631a9336d5aed8eb2b4929a",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x73CF739b0233027cd516998e177d473D0a45E037#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v20",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v20/arbos",
"verificationStatus": "notVerified",
"hash": "0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf"
],
"implementations": [
"arb1:0xF9725312bd91CcfA3aD797e78A8A10b6d692FCd6",
"arb1:0xF916Bfe431B7A7AaE083273F5b862e00a15d60F4"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0xF9725312bd91CcfA3aD797e78A8A10b6d692FCd6",
"arb1:0xF916Bfe431B7A7AaE083273F5b862e00a15d60F4"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately SafeL2\n * **anyTrustFastConfirmer**: GnosisSafeL2; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately SafeL2\n * **validators**: EOA 1, GnosisSafeL2; ultimately EOA 1",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0xACAec98D879E39d83a30F914A36bf4877424D04f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x079840Cc8959Ef60d414E5AFC6ED0493b8eAf514"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x079840Cc8959Ef60d414E5AFC6ED0493b8eAf514"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xACAec98D879E39d83a30F914A36bf4877424D04f#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xe44B83D8a3A86994043C809E29B723a44FAEE479",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x5F89646f93E360217AD7caD73a44298aBC4aCA9A"
]
},
{
"timestamp": 1767708382,
"transactionHash": "0xdce058b81af248e204b1c6b53c30c18af303b00de6638980e3ce0f552119d12a",
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe44B83D8a3A86994043C809E29B723a44FAEE479#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **executors**: SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x107695630130919cb040B095b9b20511D6e211bB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761512772,
"transactionHash": "0x8a815abfce827844bdad997036a2a1c13e020de7df76322505aec14b18fde9bc",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x107695630130919cb040B095b9b20511D6e211bB#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x9f427c80C4DF962726808d4c876fc2c55474a764",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x51882B52bcc3EF8008f9F7772B0229eA2551FDdc"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x51882B52bcc3EF8008f9F7772B0229eA2551FDdc"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9f427c80C4DF962726808d4c876fc2c55474a764#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0xd35dCCD471CB5136004DA35660E0573B6cd791d9"
]
},
{
"timestamp": 1767708382,
"transactionHash": "0xdce058b81af248e204b1c6b53c30c18af303b00de6638980e3ce0f552119d12a",
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x3616995dF5D07B28f2B186F1386cace9EB9Bbd20",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761512772,
"transactionHash": "0x8a815abfce827844bdad997036a2a1c13e020de7df76322505aec14b18fde9bc",
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3616995dF5D07B28f2B186F1386cace9EB9Bbd20#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8420251362dA42f5Be2285B2DEa2f20D16332fE6#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD3dE403eADdf791104918E9C9336B434AE7DDA01#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0xd9E17C6012A50F8725aCDA0196Cecaa40657e8cB"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0xd9E17C6012A50F8725aCDA0196Cecaa40657e8cB"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585#code"
}
]
},
"escrows": [
{
"address": "0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0",
"sinceTimestamp": 1761511538,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x107695630130919cb040B095b9b20511D6e211bB",
"sinceTimestamp": 1761512772,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x107695630130919cb040B095b9b20511D6e211bB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761512772,
"transactionHash": "0x8a815abfce827844bdad997036a2a1c13e020de7df76322505aec14b18fde9bc",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L3 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x107695630130919cb040B095b9b20511D6e211bB#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x6B595398152999bBc759D5D8ed8169793F915488",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x75Ef99D9D2c166579fEB09c9015CC99e0Ca44a10"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1744043003,
"transactionHash": "0x6bbb4ef7e5fa8da1f41817558cbe9615c86c81a59d9eeecb90085ab91dd1beea",
"implementations": [
"eth:0x75Ef99D9D2c166579fEB09c9015CC99e0Ca44a10"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6B595398152999bBc759D5D8ed8169793F915488#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x890025891508a463A636f81D2f532a97210240de",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xc213d433802ea473e23623476b26FB12e9B4eFe6"
],
"implementations": [
"eth:0xA798E033b1B3976d77a4A6aeDC496873a7264156",
"eth:0x4944f77757AE7050A7EF843FacA82FC449aB5901"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1732465715,
"transactionHash": "0xf0976079c29124f6917774cf38e659b554b89d59a451fd9c6ebe546e87b53cbd",
"implementations": [
"eth:0xA798E033b1B3976d77a4A6aeDC496873a7264156",
"eth:0x4944f77757AE7050A7EF843FacA82FC449aB5901"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EdgelessMultisig\n * **owner**: UpgradeExecutor; ultimately EdgelessMultisig\n * **validators**: EOA 1",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x890025891508a463A636f81D2f532a97210240de#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x893057442A952E3254CA53d007AD6BBB502f557e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x92726c81BbECbC9b871304B290b412EC78cF842b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754"
]
},
{
"timestamp": 1731950159,
"transactionHash": "0xbc68abaef39524b8b9ee1cf1d43eee32963c1c9c3ebf91e38a9e40d9b1fadcb3",
"implementations": [
"eth:0x38B79f7D08326833051AA4D0a119D8095247716f"
]
},
{
"timestamp": 1732465715,
"transactionHash": "0xf0976079c29124f6917774cf38e659b554b89d59a451fd9c6ebe546e87b53cbd",
"implementations": [
"eth:0x92726c81BbECbC9b871304B290b412EC78cF842b"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x893057442A952E3254CA53d007AD6BBB502f557e#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xFfbf2b49524e09B1F1fBcA707B830e79c68c2086",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x87Ca4B22A63c546eB998c26Ebec0aFE2821FC03C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1731950159,
"transactionHash": "0xbc68abaef39524b8b9ee1cf1d43eee32963c1c9c3ebf91e38a9e40d9b1fadcb3",
"implementations": [
"eth:0x5054375f50f36812d1C45E6091b167aaFC3cA5b6"
]
},
{
"timestamp": 1744051907,
"transactionHash": "0x1ead0e15dc06839305e7101c4f6ceeea0573e53ed013c571e3e66cd988906a1c",
"implementations": [
"eth:0x87Ca4B22A63c546eB998c26Ebec0aFE2821FC03C"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFfbf2b49524e09B1F1fBcA707B830e79c68c2086#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xc213d433802ea473e23623476b26FB12e9B4eFe6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig\n * **executors**: EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc213d433802ea473e23623476b26FB12e9B4eFe6#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x5e8749760c5051fF80b73319cCf4d05ef9959563",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5e8749760c5051fF80b73319cCf4d05ef9959563#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x6a1B2ea25c3099CAFcbd4E60a3Ae251E52B69e78",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069259,
"transactionHash": "0xab9a182d783bfb5c66ed9aa081fa601c6c508c66985433e473587fec72792ccb",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6a1B2ea25c3099CAFcbd4E60a3Ae251E52B69e78#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xf51551afD112a50Fc5EDa0454111078fE6E6096E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0xd29ED48868E393248645680ee4432999812eb30e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1744051907,
"transactionHash": "0x1ead0e15dc06839305e7101c4f6ceeea0573e53ed013c571e3e66cd988906a1c",
"implementations": [
"eth:0xd29ED48868E393248645680ee4432999812eb30e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf51551afD112a50Fc5EDa0454111078fE6E6096E#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "eth:0x99790790B030CF116efed1c7577e2262072EfCc9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x688c7b64776421668a91Ed4D23554d78626c8E69"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069259,
"transactionHash": "0xab9a182d783bfb5c66ed9aa081fa601c6c508c66985433e473587fec72792ccb",
"implementations": [
"eth:0x688c7b64776421668a91Ed4D23554d78626c8E69"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x99790790B030CF116efed1c7577e2262072EfCc9#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xb47D14b4282DF795E036e9Ea43E54C31FCB0eCAC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069259,
"transactionHash": "0xab9a182d783bfb5c66ed9aa081fa601c6c508c66985433e473587fec72792ccb",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb47D14b4282DF795E036e9Ea43E54C31FCB0eCAC#code"
},
{
"name": "StakingManager",
"isVerified": true,
"address": "eth:0x1e6d08769be5Dc83d38C64C5776305Ad6F01c227",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa5f13fbc57f14Bf322C900Cae0F67b4819364281"
],
"implementations": [
"eth:0x121892C0620E349723dfd3E1535cD668CD414dfD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711060739,
"transactionHash": "0x7248e4a0fa1c9b5d591d69a0b712108b069eaf7d005be389eed187f77635aff8",
"implementations": [
"eth:0x121892C0620E349723dfd3E1535cD668CD414dfD"
]
}
],
"description": "Manages strategies to be used with funds forwarded from the EdgelessDeposit contract.\n* Roles:\n * **admin**: StrategiesProxyAdmin; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e6d08769be5Dc83d38C64C5776305Ad6F01c227#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x1F58949AB4C6A65C4055f45fdF9297C5F216CD95",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1F58949AB4C6A65C4055f45fdF9297C5F216CD95#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x251E34E4644D06b319AD39c602b857E47cCa13C3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x251E34E4644D06b319AD39c602b857E47cCa13C3#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OrbitProxyAdmin",
"isVerified": true,
"address": "eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x6119D59799E83329847de25Dc787A0D9ab4c0323",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6119D59799E83329847de25Dc787A0D9ab4c0323#code"
},
{
"name": "EdgelessDeposit",
"isVerified": true,
"address": "eth:0x7E0bc314535f430122caFEF18eAbd508d62934bf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa5f13fbc57f14Bf322C900Cae0F67b4819364281"
],
"implementations": [
"eth:0xE4E2BBaCAb9bE9258D7cf3eF9D993cfA81a55356"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711060763,
"transactionHash": "0xfbea2e40af670e98d892dbcfde2f2a51c4bcf3c70d31f62bd773faf954041e27",
"implementations": [
"eth:0xE4E2BBaCAb9bE9258D7cf3eF9D993cfA81a55356"
]
}
],
"description": "Receives deposits and issues ewETH tokens. Funds are forwarded to the StakingManger contract.\n* Roles:\n * **admin**: StrategiesProxyAdmin; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7E0bc314535f430122caFEF18eAbd508d62934bf#code"
},
{
"name": "StrategiesProxyAdmin",
"isVerified": true,
"address": "eth:0xa5f13fbc57f14Bf322C900Cae0F67b4819364281",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa5f13fbc57f14Bf322C900Cae0F67b4819364281#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0xaac292Cb9a205A140003775529181787fdbc4DC6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaac292Cb9a205A140003775529181787fdbc4DC6#code"
},
{
"name": "RenzoStrategy",
"isVerified": true,
"address": "eth:0xBCc1Ceb75De4BBb75918627E7CB301DF9Ccc8aF9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa5f13fbc57f14Bf322C900Cae0F67b4819364281"
],
"implementations": [
"eth:0xfF03657dCe3c3EAE996Bf82fD41572D47D049747"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713942971,
"transactionHash": "0x54b39e358fb6d7bd09c4b715a036f9db0a581dad7a302cfc074b81696f41b4af",
"implementations": [
"eth:0xfF03657dCe3c3EAE996Bf82fD41572D47D049747"
]
}
],
"description": "Deposits funds into the Renzo protocol.\n* Roles:\n * **admin**: StrategiesProxyAdmin; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBCc1Ceb75De4BBb75918627E7CB301DF9Ccc8aF9#code"
},
{
"name": "EthStrategy",
"isVerified": true,
"address": "eth:0xbD95aa0f68B95e6C01d02F1a36D8fde29C6C8e7b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa5f13fbc57f14Bf322C900Cae0F67b4819364281"
],
"implementations": [
"eth:0xaD69577988FD1fF2F265C0B46E45fbC722F4Cf4c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711060799,
"transactionHash": "0x9ca85ff7f69422a81a189a421f97be95b14ffc3e369c4090621bee0fa86f06b3",
"implementations": [
"eth:0xaD69577988FD1fF2F265C0B46E45fbC722F4Cf4c"
]
}
],
"description": "Deposits funds into the Lido protocol.\n* Roles:\n * **admin**: StrategiesProxyAdmin; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbD95aa0f68B95e6C01d02F1a36D8fde29C6C8e7b#code"
},
{
"name": "WrappedToken",
"isVerified": true,
"address": "eth:0xcD0aa40948c662dEDd9F157085fd6369A255F2f7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcD0aa40948c662dEDd9F157085fd6369A255F2f7#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xE6068c35d4FB1899b9419cE3e7B66D318C652847",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE6068c35d4FB1899b9419cE3e7B66D318C652847#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xFa213CdA43f879FfaF17170B6E3b3AbE9900cAB1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: OrbitProxyAdmin; ultimately EdgelessMultisig",
"upgradableBy": [
{
"name": "EdgelessMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFa213CdA43f879FfaF17170B6E3b3AbE9900cAB1#code"
}
]
},
"escrows": [
{
"address": "0x6B595398152999bBc759D5D8ed8169793F915488",
"sinceTimestamp": 1711069223,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x6B595398152999bBc759D5D8ed8169793F915488",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x48E84C45fE99859B1D72FA56Ce5D3c76FF2F7006"
],
"implementations": [
"eth:0x75Ef99D9D2c166579fEB09c9015CC99e0Ca44a10"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711069223,
"transactionHash": "0x9a69d7f74c80826a8d5c84398da524ff12f3bef236ff9115094e086382a33810",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1744043003,
"transactionHash": "0x6bbb4ef7e5fa8da1f41817558cbe9615c86c81a59d9eeecb90085ab91dd1beea",
"implementations": [
"eth:0x75Ef99D9D2c166579fEB09c9015CC99e0Ca44a10"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x6B595398152999bBc759D5D8ed8169793F915488#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xbD95aa0f68B95e6C01d02F1a36D8fde29C6C8e7b",
"sinceTimestamp": 1711057199,
"tokens": [
"ETH",
"stETH"
],
"source": "external",
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xBCc1Ceb75De4BBb75918627E7CB301DF9Ccc8aF9",
"sinceTimestamp": 1713942971,
"tokens": [
"ETH",
"ezETH"
],
"source": "external",
"chain": "ethereum",
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x14dBe58192B60b5207b86c751255B34550Bd12Fb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
{
"timestamp": 1730187043,
"transactionHash": "0x8f9719d22781b6ea305ca11e00500b046280ed43d7a1be00e6dc623ef7c009f6",
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x14dBe58192B60b5207b86c751255B34550Bd12Fb#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742816885,
"transactionHash": "0x1e6e3cb414d9098a4d0cc7791ca3c91da1152941b65b09e3cd925df0a78a276b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c"
]
},
{
"timestamp": 1742831419,
"transactionHash": "0x0c2b46c93025ed6c2500f99e813d57f91bbdb89f4cb884f122948ab6ddbe135e",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA3464bf0ed52cFe6676D3e34ab1F4DF53f193631#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xBaE3B462a2A7fb758F66D91170514C10B14Ce914",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0"
],
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1730187043,
"transactionHash": "0x8f9719d22781b6ea305ca11e00500b046280ed43d7a1be00e6dc623ef7c009f6",
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Gelato Multisig\n * **anyTrustFastConfirmer**: EduFastConfirmerMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately Gelato Multisig\n * **validators**: EOA 1, EduFastConfirmerMultisig; ultimately EOA 1",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xBaE3B462a2A7fb758F66D91170514C10B14Ce914#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x9132151475ACCf0662C545Bc81FbC1741d978EE0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **executors**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9132151475ACCf0662C545Bc81FbC1741d978EE0#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x419e439e5c0B839d6e31d7C438939EEE1A4f4184",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x419e439e5c0B839d6e31d7C438939EEE1A4f4184#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742831419,
"transactionHash": "0x0c2b46c93025ed6c2500f99e813d57f91bbdb89f4cb884f122948ab6ddbe135e",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x590044e628ea1B9C10a86738Cf7a7eeF52D031B8#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x6339965Cb3002f5c746895e4eD895bd775dbfdf9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6339965Cb3002f5c746895e4eD895bd775dbfdf9#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0xDa4ac9E9cB8Af8afBB2Df1ffe7b82efEA17ba0f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xDa4ac9E9cB8Af8afBB2Df1ffe7b82efEA17ba0f6#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x33c1514Bf90e202d242C299b37C60f908aa206D4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x33c1514Bf90e202d242C299b37C60f908aa206D4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x54E0923782b701044444De5d8c3A45aC890b0881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x54E0923782b701044444De5d8c3A45aC890b0881#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD36cd2624a7187ED41ec30FC1d6E6B7b3abAf251#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xD89d54007079071cBA859127318b9F34eeB78049",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD89d54007079071cBA859127318b9F34eeB78049#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881#code"
}
]
},
"escrows": [
{
"address": "0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8",
"sinceTimestamp": 1721987935,
"tokens": [
"EDU"
],
"contract": {
"isVerified": true,
"address": "arb1:0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721987935,
"transactionHash": "0x24734f0052e358b32f5c628be733754d6d852d5c22c114d07dbfea9d99d8670e",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742816885,
"transactionHash": "0x1e6e3cb414d9098a4d0cc7791ca3c91da1152941b65b09e3cd925df0a78a276b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows EDU sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x2F12c50b46adB01a4961AdDa5038c0974C7C78e8#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x419e439e5c0B839d6e31d7C438939EEE1A4f4184",
"sinceTimestamp": 1721992935,
"tokens": "*",
"contract": {
"name": "StandardGateway",
"isVerified": true,
"address": "arb1:0x419e439e5c0B839d6e31d7C438939EEE1A4f4184",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination.",
"url": "https://arbiscan.io/address/0x419e439e5c0B839d6e31d7C438939EEE1A4f4184#code"
},
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759",
"sinceTimestamp": 1721992935,
"tokens": "*",
"contract": {
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x79daC9c2deC3E4411a2cB2b0ecf654D27a4AFf0A"
],
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721992935,
"transactionHash": "0xb438cbcdc499b041ffa782aecb94d616a532eb1455f7c58e1141b557ccd70475",
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.",
"url": "https://arbiscan.io/address/0xDd7A9dEcBB0b16B37fE6777e245b18fC0aC63759#code"
},
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x0E2480384E3703FDf84c7A0448658E8C7543b3a8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0x289b8F787Ab752b039C477B98016869f6b8AE772"
]
},
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0E2480384E3703FDf84c7A0448658E8C7543b3a8#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x75c070fe237817Bd027d402327069e9cd07De078",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xDde7f92D0f2225f5951564D387e158b9b57f95F3"
],
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2\n * **getValidators**: EOA 2\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x75c070fe237817Bd027d402327069e9cd07De078#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "arb1:0xA4444d9536595d35967206b86067a90aD053e1EF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA4444d9536595d35967206b86067a90aD053e1EF#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xd86f5ad3fa5becbB07e565DbD4b70DBd817A43A8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0x92329713Dc1a897D67a1C7f2a40eeeA83F5362CE"
]
},
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd86f5ad3fa5becbB07e565DbD4b70DBd817A43A8#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xDde7f92D0f2225f5951564D387e158b9b57f95F3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2\n * **executors**: Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xDde7f92D0f2225f5951564D387e158b9b57f95F3#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x574b121c469583c3a46cd88bBCC9Ac5c8C907d06",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0xb0de8855D29C00ad0710BC7a9975f0534deFc227"
]
},
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x574b121c469583c3a46cd88bBCC9Ac5c8C907d06#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xA2A5DCA414e3AaBD48B9CA97426f7e3Fba967492",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0xd2e4Cc9Ec636eC9cFE840A2cF6ca32B690fD921A"
]
},
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA2A5DCA414e3AaBD48B9CA97426f7e3Fba967492#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F#code"
},
{
"name": "ERC20MigrationOutbox",
"isVerified": true,
"address": "arb1:0x3515ad5D3D904Cb2731A7d6E5DB9f35D6CAFEB14",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Simple contract that, if set as allowedOutbox in the Bridge, allows to sweep all native tokens from the escrow to Ethereal Multisig.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3515ad5D3D904Cb2731A7d6E5DB9f35D6CAFEB14#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x583F8BA007580c83EFB4B02C66694096cD5c56d1#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x5D6bec85F093Eb49bD6913aCe7e9A081c41aed8F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653"
]
},
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5D6bec85F093Eb49bD6913aCe7e9A081c41aed8F#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x61006c8566fac9a3315F646dA4624C00BbCF15E4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2#code"
}
],
"ethereal": [
{
"name": "Liquidation",
"isVerified": true,
"address": "ethereal:0x636DE0449C4175C8AA66989ab34fab5373e044f1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "Auxiliary contract of the ExchangeGateway.\n",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0x636DE0449C4175C8AA66989ab34fab5373e044f1#code"
},
{
"name": "CollateralManager",
"isVerified": true,
"address": "ethereal:0x638D6DaC0550f30f37aC5784260309Ac89302faA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "Auxiliary contract of the ExchangeGateway.\n",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0x638D6DaC0550f30f37aC5784260309Ac89302faA#code"
},
{
"name": "ActionHandler",
"isVerified": true,
"address": "ethereal:0x70702e58005f3b91f9c8dFBe3A170051Ee61cf96",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "Auxiliary contract of the ExchangeGateway.\n",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0x70702e58005f3b91f9c8dFBe3A170051Ee61cf96#code"
},
{
"name": "OrbitNativeOFTAdapter",
"isVerified": true,
"address": "ethereal:0x80F981abC18A48CfdbDe5556F9B72e6a726F0FF3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "An OApp in the LayerZero protocol. It allows to mint the native token using the arbNativeTokenManager precompile on ArbOs. This means that the native token inherits all trust assumptions of the LayerZero security stack configured for this OApp and its crosschein peers, including minting and burning.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0x80F981abC18A48CfdbDe5556F9B72e6a726F0FF3#code"
},
{
"name": "PythLazer",
"isVerified": true,
"address": "ethereal:0xACeA761c27A909d4D3895128EBe6370FDE2dF481",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ethereal:0x98046Bd286715D3B0BC227Dd7a956b83D8978603"
],
"implementations": [
"ethereal:0x486908B534E34D1Ca04d12F01b5Bf47aC62A68F5"
]
},
"chain": "ethereal",
"pastUpgrades": [
{
"timestamp": 1758743720,
"transactionHash": "0x10c96fa49c416b2c5064728b2e683e0ffe68885629e4f4ab4046a516184993c3",
"implementations": [
"ethereal:0x486908B534E34D1Ca04d12F01b5Bf47aC62A68F5"
]
}
],
"description": "Used to verify offchain signed oracle data.\n* Roles:\n * **admin**: EOA 3\n * **owner**: EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0xACeA761c27A909d4D3895128EBe6370FDE2dF481#code"
},
{
"name": "ExchangeGateway",
"isVerified": true,
"address": "ethereal:0xB3cDC82035C495c484C9fF11eD5f3Ff6d342e3cc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"ethereal:0x14Fb412e1B692Cfc8C56ec285169e8bF27A7a351"
],
"implementations": [
"ethereal:0x6F4888af4c37D9Da8545b4766646e2891e47b1db"
]
},
"chain": "ethereal",
"pastUpgrades": [
{
"timestamp": 1760534426,
"transactionHash": "0x04a67ea928eab86c5df00ab440dbc47745f199286b8478ef520c8f6fc6b804d0",
"implementations": [
"ethereal:0x922Eb912285225c25428bC4Aaf4C31Eb73C07f6d"
]
},
{
"timestamp": 1776326201,
"transactionHash": "0x5af5474916ab2d51c82b367a4de90b08e07eb9dd8bc452788c9856ff70cabad2",
"implementations": [
"ethereal:0x6F4888af4c37D9Da8545b4766646e2891e47b1db"
]
}
],
"description": "Main contract of the Ethereal DEX. Entrypoint for users to deposit and withdraw funds and for operators submit user actions.\n* Roles:\n * **admin**: SafeL2\n * **getFeeCollector**: SafeL2\n * **getLiquidator**: EOA 4\n * **owner**: SafeL2\n * **registeredSequencers**: EOA 5",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0xB3cDC82035C495c484C9fF11eD5f3Ff6d342e3cc#code"
},
{
"name": "ExchangeConfig",
"isVerified": true,
"address": "ethereal:0xC199cC890F61B847bec9cec4212C35b759A9fD38",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "Auxiliary contract of the ExchangeGateway.\n",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0xC199cC890F61B847bec9cec4212C35b759A9fD38#code"
},
{
"name": "PerpEngine",
"isVerified": true,
"address": "ethereal:0xCc0385301a10191b7ac633A64742a34F2e4cFB37",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "Auxiliary contract of the ExchangeGateway.\n",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0xCc0385301a10191b7ac633A64742a34F2e4cFB37#code"
},
{
"name": "Deleverage",
"isVerified": true,
"address": "ethereal:0xF0597CF73cBdB97484c439533bdDBF733BfDf84B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereal",
"description": "Auxiliary contract of the ExchangeGateway.\n",
"discoveryDrivenData": true,
"url": "https://explorer.ethereal.trade/address/0xF0597CF73cBdB97484c439533bdDBF733BfDf84B#code"
}
]
},
"escrows": [
{
"address": "0xd86f5ad3fa5becbB07e565DbD4b70DBd817A43A8",
"sinceTimestamp": 1758570590,
"tokens": [
"USDe"
],
"contract": {
"isVerified": true,
"address": "arb1:0xd86f5ad3fa5becbB07e565DbD4b70DBd817A43A8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xc1136ea5F91f82cb468Fc7650579A95605D9f5C2"
],
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1758570590,
"transactionHash": "0xea3190e2248e13d16ca5157e1f44d98de19a93595aa644e2622629ebdaa19e0d",
"implementations": [
"arb1:0x92329713Dc1a897D67a1C7f2a40eeeA83F5362CE"
]
},
{
"timestamp": 1770631406,
"transactionHash": "0xdb6ad9c2efe65f5130149cc9cce9f3ab4cb89bcfbd7156028f5c8399babf62bf",
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows USDe sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xd86f5ad3fa5becbB07e565DbD4b70DBd817A43A8#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the custom whitelisted Outbox or its destination Multisig is compromised.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x4eb4fB614e1aa3634513319F4Ec7334bC4321356",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4eb4fB614e1aa3634513319F4Ec7334bC4321356#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x7B0517E0104dB60198f9d573C0aB8d480207827E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x734B78823c4d979045EC23F38B54A070df7769FF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x734B78823c4d979045EC23F38B54A070df7769FF"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe\n * **batchPosters**: EOA 11, EOA 2, EOA 6, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7B0517E0104dB60198f9d573C0aB8d480207827E#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xc6CAd31D83E33Fc8fBc855f36ef9Cb2fCE070f5C",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xb0d7A2d1eBA69dbcff839037D060E4f8B5c4431B"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1732539335,
"transactionHash": "0x9a5e07856d252a3376d12373ee34a5e7cff6060657e9475f57201705a6ccdb66",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Safe\n * **anyTrustFastConfirmer**: EverclearFastconfirmerMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately Safe\n * **validators**: EOA 1, EOA 10, EOA 3, EOA 4, EOA 5, EOA 7, EverclearFastconfirmerMultisig; ultimately EOA 1",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc6CAd31D83E33Fc8fBc855f36ef9Cb2fCE070f5C#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xCdA94226d0BAFA963D6011fb2A06dEc7333646e8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1732539335,
"transactionHash": "0x9a5e07856d252a3376d12373ee34a5e7cff6060657e9475f57201705a6ccdb66",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCdA94226d0BAFA963D6011fb2A06dEc7333646e8#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xb0d7A2d1eBA69dbcff839037D060E4f8B5c4431B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe\n * **executors**: Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb0d7A2d1eBA69dbcff839037D060E4f8B5c4431B#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x149e3df73d9D48cb6573555De9256cc1456F50B5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725655499,
"transactionHash": "0x1ccda98503a48db780b2e4c89ab94895dad577f97b38b13b499ba27b82cec911",
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x149e3df73d9D48cb6573555De9256cc1456F50B5#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x38fB6Ad5908f61dC0bCeffbeDf4Bf781CbeA22Aa",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x38fB6Ad5908f61dC0bCeffbeDf4Bf781CbeA22Aa#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x97FdC935c5E25613AA13a054C7Aa71cf751DB495",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97FdC935c5E25613AA13a054C7Aa71cf751DB495#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xA880b3fC75928695ac75e06793277aC4bEA84a3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725655499,
"transactionHash": "0x1ccda98503a48db780b2e4c89ab94895dad577f97b38b13b499ba27b82cec911",
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA880b3fC75928695ac75e06793277aC4bEA84a3E#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x305042e5A81424f2f824f93Ff2195b5712D7dE14#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xdE3fdE71a026236b6b5C35505643FF4155EAb20D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Safe",
"upgradableBy": [
{
"name": "Safe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdE3fdE71a026236b6b5C35505643FF4155EAb20D#code"
}
]
},
"escrows": [
{
"address": "0x4eb4fB614e1aa3634513319F4Ec7334bC4321356",
"sinceTimestamp": 1725539051,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x4eb4fB614e1aa3634513319F4Ec7334bC4321356",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x305042e5A81424f2f824f93Ff2195b5712D7dE14"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1725539051,
"transactionHash": "0x68a58ddd9f1327bfd263dc7af326d6011c85c374c3b02df82ebff50f9640b6b6",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x4eb4fB614e1aa3634513319F4Ec7334bC4321356#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x284696FB7BF57dB7133Fd8c9EB74f49A76b2485F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1732543703,
"transactionHash": "0x788c3362a0afa116cef977fba73d4b39186dd5f4222f594b31469c115499acbc",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x284696FB7BF57dB7133Fd8c9EB74f49A76b2485F#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xD04Cf183526aDC4a37B72D49bFe6eE19d9E19bd0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe\n * **batchPosters**: EOA 10, EOA 2, EOA 5, EOA 6, EOA 7",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD04Cf183526aDC4a37B72D49bFe6eE19d9E19bd0#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xD085B74A57D1d7947B9C9f8E2d75cB6832d62d0f",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x6BCe4c44668C77ff67730C14d2378857103F53C7"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1732543703,
"transactionHash": "0x788c3362a0afa116cef977fba73d4b39186dd5f4222f594b31469c115499acbc",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately GnosisSafe\n * **anyTrustFastConfirmer**: GnosisSafeL2; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately GnosisSafe\n * **validators**: EOA 1, EOA 3, EOA 4, EOA 8, EOA 9, GnosisSafeL2; ultimately EOA 1",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD085B74A57D1d7947B9C9f8E2d75cB6832d62d0f#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x6BCe4c44668C77ff67730C14d2378857103F53C7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe\n * **executors**: GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6BCe4c44668C77ff67730C14d2378857103F53C7#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x06084a0AC843084a1d1B8ba0f67E048e4f8f3B95",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x06084a0AC843084a1d1B8ba0f67E048e4f8f3B95#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x50Df2E43aDefee3b6510b637697d30e7dc155e13",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x50Df2E43aDefee3b6510b637697d30e7dc155e13#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "Fluence Token",
"isVerified": true,
"address": "eth:0x236501327e701692a281934230AF0b6BE8Df3353",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x7F629403fDCC02aD83aA5debd1D4B1548982afaC"
],
"implementations": [
"eth:0xbDB50EFF425fb2B1B67fea21b8420eEB6D99CCC0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1708029539,
"transactionHash": "0x7cd79aca0015d84a70b9b3ef5156431793d371344dd0435194d27a4860507d00",
"implementations": [
"eth:0xbDB50EFF425fb2B1B67fea21b8420eEB6D99CCC0"
]
}
],
"description": "* Roles:\n * **admin**: GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x236501327e701692a281934230AF0b6BE8Df3353#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "Sweeper",
"isVerified": true,
"address": "eth:0x5d436201d1fD53Dc9ECeA4268f257C6fC87c598D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412091,
"transactionHash": "0x2cb20e451b8cb00626a801a502afbd6ce1255526ab343c663ce91ad40d918730",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
{
"timestamp": 1775058179,
"transactionHash": "0x8bf339873118ab07c165309a3f06b616b94d4414f1cad8f56a577ee394e73ca5",
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5d436201d1fD53Dc9ECeA4268f257C6fC87c598D#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x5E6B2D08EA7B3251fef4a244F54D508E0cBD6D3A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
{
"timestamp": 1775058179,
"transactionHash": "0x8bf339873118ab07c165309a3f06b616b94d4414f1cad8f56a577ee394e73ca5",
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately GnosisSafe",
"upgradableBy": [
{
"name": "GnosisSafe",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5E6B2D08EA7B3251fef4a244F54D508E0cBD6D3A#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
}
]
},
"escrows": [
{
"address": "0x5E6B2D08EA7B3251fef4a244F54D508E0cBD6D3A",
"sinceTimestamp": 1722412055,
"tokens": [
"FLT"
],
"contract": {
"isVerified": true,
"address": "eth:0x5E6B2D08EA7B3251fef4a244F54D508E0cBD6D3A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412055,
"transactionHash": "0x84bba7868423bdd4e4d72eae2d4b2e6fc2e6fde66a1668a5009baae7625688ed",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
{
"timestamp": 1775058179,
"transactionHash": "0x8bf339873118ab07c165309a3f06b616b94d4414f1cad8f56a577ee394e73ca5",
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows FLT sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5E6B2D08EA7B3251fef4a244F54D508E0cBD6D3A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x5d436201d1fD53Dc9ECeA4268f257C6fC87c598D",
"sinceTimestamp": 1722412091,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x5d436201d1fD53Dc9ECeA4268f257C6fC87c598D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1c46E1029C2Bd8b18448faA9Ab0ac03412D46790"
],
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722412091,
"transactionHash": "0x2cb20e451b8cb00626a801a502afbd6ce1255526ab343c663ce91ad40d918730",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
{
"timestamp": 1775058179,
"transactionHash": "0x8bf339873118ab07c165309a3f06b616b94d4414f1cad8f56a577ee394e73ca5",
"implementations": [
"eth:0x5c2C972de4ef50f51265E1fc06d17eDf4dd2afAF"
]
}
],
"url": "https://etherscan.io/address/0x5d436201d1fD53Dc9ECeA4268f257C6fC87c598D#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x0B7F24F67a889211eb266f1D413Fe0fD96532D83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0B7F24F67a889211eb266f1D413Fe0fD96532D83#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x2807B1d5d94ca823ca7d8642A5F5DDac120ce48f",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xa5D23c69894241825dAffB570c3c742C0F52df96"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2807B1d5d94ca823ca7d8642A5F5DDac120ce48f#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x7983403dDA368AA7d67145a9b81c5c517F364c42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7983403dDA368AA7d67145a9b81c5c517F364c42#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x8D99372612e8cFE7163B1a453831Bc40eAeb3cF3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1745880563,
"transactionHash": "0x89bb6d5ad4aee106eb3057f96b1c3dc685bc40dc798d267f429c486b114fbd25",
"implementations": [
"eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 10, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8D99372612e8cFE7163B1a453831Bc40eAeb3cF3#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xa5D23c69894241825dAffB570c3c742C0F52df96",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa5D23c69894241825dAffB570c3c742C0F52df96#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x1153a1e4B1523DFf36f77d696bd6eBF2B0e7DAbF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1153a1e4B1523DFf36f77d696bd6eBF2B0e7DAbF#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x7AD2a94BefF3294a31894cFb5ba4206957a53c19",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1745880563,
"transactionHash": "0x89bb6d5ad4aee106eb3057f96b1c3dc685bc40dc798d267f429c486b114fbd25",
"implementations": [
"eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7AD2a94BefF3294a31894cFb5ba4206957a53c19#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xa24eDA32bb36171a6c34CBB4B56f89FF7B8fD49A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa24eDA32bb36171a6c34CBB4B56f89FF7B8fD49A#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBbc3872E30C91ef69336937838c2a283F79f7E68#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
}
]
},
"escrows": [
{
"address": "0x7983403dDA368AA7d67145a9b81c5c517F364c42",
"sinceTimestamp": 1716053843,
"tokens": [
"G"
],
"contract": {
"isVerified": true,
"address": "eth:0x7983403dDA368AA7d67145a9b81c5c517F364c42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xBbc3872E30C91ef69336937838c2a283F79f7E68"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716053843,
"transactionHash": "0x8cc45e895fa944fdd15443047c58bd3633eb5cf885d54d46d081010615022312",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
{
"timestamp": 1770629555,
"transactionHash": "0xb1c7a25d6fda5fba40fde6cfb9b9302b9b8ddb690c8fd2374fb952fcf9762718",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows G sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x7983403dDA368AA7d67145a9b81c5c517F364c42#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x20aD3d835e152F25Bf8c7B6fbC31adD32393559e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x92329713Dc1a897D67a1C7f2a40eeeA83F5362CE"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0x92329713Dc1a897D67a1C7f2a40eeeA83F5362CE"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x20aD3d835e152F25Bf8c7B6fbC31adD32393559e#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x4cFe930c5B2F03Cf81B44D2e62297beb79222B68",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0xb7F0b49F09177cF8ab3aD8Cff68260DaFB079aCC"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2\n * **batchPosters**: EOA 11, EOA 13, EOA 15, EOA 16, EOA 18, EOA 20, EOA 21, EOA 23, EOA 25, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4cFe930c5B2F03Cf81B44D2e62297beb79222B68#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x60DAdF13101C66F14C958E9141498b0C0eaE0773",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x8b2600BA65E7908D38Af906fbcafB2f62D395765"
],
"implementations": [
"arb1:0x87A5B85A1C26512898AeB01038F0e64539C6761F",
"arb1:0x4916F2075d54e03855959B09B41aD442B2966d20"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0x87A5B85A1C26512898AeB01038F0e64539C6761F",
"arb1:0x4916F2075d54e03855959B09B41aD442B2966d20"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2, SafeL2\n * **anyTrustFastConfirmer**: GnosisSafeL2; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2, SafeL2\n * **validators**: EOA 1, EOA 10, EOA 12, EOA 14, EOA 17, EOA 19, EOA 2, EOA 22, EOA 24, EOA 26, EOA 27, EOA 28, EOA 3, EOA 4, GnosisSafeL2; ultimately EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x60DAdF13101C66F14C958E9141498b0C0eaE0773#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x832CF28be3042b6F60D7225E393E924D7f0936F6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x2A8ccC4829c0323b470357cffDaD492C789f9315"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0x2A8ccC4829c0323b470357cffDaD492C789f9315"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x832CF28be3042b6F60D7225E393E924D7f0936F6#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x8b2600BA65E7908D38Af906fbcafB2f62D395765",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2\n * **executors**: Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8b2600BA65E7908D38Af906fbcafB2f62D395765#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xB1146A7eb098ECF46e8AAf695f4A960A963948d6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0xD2f1C58Da62BCfaD4BeF7802B2F6363C2cbe7082"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB1146A7eb098ECF46e8AAf695f4A960A963948d6#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0xe41363751bd1C305384375F428585C20e3dF516A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728557217,
"transactionHash": "0x520f38c9d1031e691b898a1218fae002f249d2087495de1038a205be693918fa",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe41363751bd1C305384375F428585C20e3dF516A#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xfbe537816d181888fAbE52338a5D921eE131E9Db",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0xd2e4Cc9Ec636eC9cFE840A2cF6ca32B690fD921A"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0xd2e4Cc9Ec636eC9cFE840A2cF6ca32B690fD921A"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xfbe537816d181888fAbE52338a5D921eE131E9Db#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x8098247EE48ee54ADD4Feda2F93b3bA0d014d4c7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728557217,
"transactionHash": "0x520f38c9d1031e691b898a1218fae002f249d2087495de1038a205be693918fa",
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8098247EE48ee54ADD4Feda2F93b3bA0d014d4c7#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x0446E34D1cC4eBA5F336627BaAe82332c8607043",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0446E34D1cC4eBA5F336627BaAe82332c8607043#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x08Ca9925b88c54100568c8d41eFAF8Fecc695d3a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x08Ca9925b88c54100568c8d41eFAF8Fecc695d3a#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x23264394923E4aEB990234180c37Bf757667C6f7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x23264394923E4aEB990234180c37Bf757667C6f7#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x4012CF2dce28079c8F7f92CecB2E494F4AcB9351",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4012CF2dce28079c8F7f92CecB2E494F4AcB9351#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x401eCb1D350407f13ba348573E5630B83638E30D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: Conduit Multisig 2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x401eCb1D350407f13ba348573E5630B83638E30D#code"
},
{
"name": "L1OrbitUSDCGateway",
"isVerified": true,
"address": "arb1:0x404922a9B29b4a5205a6074AbA31A7392BD28944",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x401eCb1D350407f13ba348573E5630B83638E30D"
],
"implementations": [
"arb1:0x5625F3f678087335BfA11c2b41E7582D3414431F"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1730299307,
"transactionHash": "0x1b4a1d2679bd5cf132058087491ee41093ec69858c8d825551dc14f816e0efdf",
"implementations": [
"arb1:0x5625F3f678087335BfA11c2b41E7582D3414431F"
]
}
],
"description": "Orbit stack specific escrow (gateway) for Circle USDC that uses the canonical bridge for messaging but is governed externally.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x404922a9B29b4a5205a6074AbA31A7392BD28944#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x4066F7e44B76Cd4b745C7c8913F21A19a32044a1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, SafeL2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4066F7e44B76Cd4b745C7c8913F21A19a32044a1#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x461bDAfaaba542C6eCcEa882BdF85542Ed7158C5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x461bDAfaaba542C6eCcEa882BdF85542Ed7158C5#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x91F12800C6b5b4e7d88fE785558213F8EF3F4586",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x91F12800C6b5b4e7d88fE785558213F8EF3F4586#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd12478d6edD1db996313E2F4350F2FD99c118B6E#code"
}
]
},
"escrows": [
{
"address": "0x20aD3d835e152F25Bf8c7B6fbC31adD32393559e",
"sinceTimestamp": 1728556666,
"tokens": [
"G7"
],
"contract": {
"isVerified": true,
"address": "arb1:0x20aD3d835e152F25Bf8c7B6fbC31adD32393559e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x92329713Dc1a897D67a1C7f2a40eeeA83F5362CE"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728556666,
"transactionHash": "0xb59c601b49b2bdd75a4ea43ea249eefba807c0f98211ce3cb2389ade74607955",
"implementations": [
"arb1:0x92329713Dc1a897D67a1C7f2a40eeeA83F5362CE"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows G7 sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x20aD3d835e152F25Bf8c7B6fbC31adD32393559e#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0xe41363751bd1C305384375F428585C20e3dF516A",
"sinceTimestamp": 1728557217,
"tokens": "*",
"contract": {
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0xe41363751bd1C305384375F428585C20e3dF516A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd12478d6edD1db996313E2F4350F2FD99c118B6E"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1728557217,
"transactionHash": "0x520f38c9d1031e691b898a1218fae002f249d2087495de1038a205be693918fa",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.",
"url": "https://arbiscan.io/address/0xe41363751bd1C305384375F428585C20e3dF516A#code"
},
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x404922a9B29b4a5205a6074AbA31A7392BD28944",
"sinceTimestamp": 1730299307,
"tokens": [
"USDC"
],
"contract": {
"isVerified": true,
"address": "arb1:0x404922a9B29b4a5205a6074AbA31A7392BD28944",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x401eCb1D350407f13ba348573E5630B83638E30D"
],
"implementations": [
"arb1:0x5625F3f678087335BfA11c2b41E7582D3414431F"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1730299307,
"transactionHash": "0x1b4a1d2679bd5cf132058087491ee41093ec69858c8d825551dc14f816e0efdf",
"implementations": [
"arb1:0x5625F3f678087335BfA11c2b41E7582D3414431F"
]
}
],
"description": "Main entry point for users depositing USDC.",
"url": "https://arbiscan.io/address/0x404922a9B29b4a5205a6074AbA31A7392BD28944#code"
},
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "base:0x400f7c5DaC37aAEe3cE007e43Db54424414743f5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0x64900a111471E095C4487FD302fb5932A2A162e5"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0x64900a111471E095C4487FD302fb5932A2A162e5"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2, EOA 1, EOA 2\n * **batchPosters**: EOA 4",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x400f7c5DaC37aAEe3cE007e43Db54424414743f5#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "base:0x58E3fe88b1E8a7e2D578000aCD9C6d5989FE9e09",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"base:0x95E613a501a0AaB5a1C5Cbe682B29d4d300EAc3B"
],
"implementations": [
"base:0xCb73255A866125cf73F69789c21a4A828461D023",
"base:0x6eeB277Fbd265Dec56079e9Bd30c943848271f5E"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0xCb73255A866125cf73F69789c21a4A828461D023",
"base:0x6eeB277Fbd265Dec56079e9Bd30c943848271f5E"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately AlchemyMultisig2, EOA 1, EOA 2\n * **anyTrustFastConfirmer**: GnosisSafeL2; ultimately EOA 3\n * **owner**: UpgradeExecutor; ultimately AlchemyMultisig2, EOA 1, EOA 2\n * **validators**: EOA 3, GnosisSafeL2; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x58E3fe88b1E8a7e2D578000aCD9C6d5989FE9e09#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "base:0x92BD2232110BEd46f1d65f1FA0916f52443DFCa3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0x295c6E92500904910F915bFb2c19d2B632619a3D"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0x295c6E92500904910F915bFb2c19d2B632619a3D"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2, EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x92BD2232110BEd46f1d65f1FA0916f52443DFCa3#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "base:0x95E613a501a0AaB5a1C5Cbe682B29d4d300EAc3B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0x88093da077351485f7C456F30549A0136C985bbF"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0x88093da077351485f7C456F30549A0136C985bbF"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2, EOA 1, EOA 2\n * **executors**: AlchemyMultisig2, EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x95E613a501a0AaB5a1C5Cbe682B29d4d300EAc3B#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "base:0x32AB85A3F0C702EbE74f73C5934b7Fb8452B492f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0xE1BdE28796da69719cDe9dd89EC6CCe1fB05f30E"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0xE1BdE28796da69719cDe9dd89EC6CCe1fB05f30E"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2, EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x32AB85A3F0C702EbE74f73C5934b7Fb8452B492f#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "base:0x7cF0a5D0211AC30365bA8C1cB8CFD4caF64b2D60",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0x5d73CB45EaBADAfa509df41723b40fb4840462c2"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0x5d73CB45EaBADAfa509df41723b40fb4840462c2"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2, EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x7cF0a5D0211AC30365bA8C1cB8CFD4caF64b2D60#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "base:0x109b5d31a5D431B856Ae30E121A1e04302bA9872",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x109b5d31a5D431B856Ae30E121A1e04302bA9872#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "base:0x55c6253DB419EDaE4A3d86e44064a4A5f1422751",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x55c6253DB419EDaE4A3d86e44064a4A5f1422751#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "base:0x696FC111c7a3E31951426660a0B1da9396056a29",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x696FC111c7a3E31951426660a0B1da9396056a29#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "base:0x9464dC1403b83432e573f4ff20ba4aF58De59226",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x9464dC1403b83432e573f4ff20ba4aF58De59226#code"
},
{
"name": "Bridge",
"isVerified": false,
"address": "base:0x9F904Fea0efF79708B37B99960e05900fE310A8E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0x56C2e7691441fDcDfA15BcCfe5a1Aec9d031e656"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0x8F0169dcF705E3c500a5f44C8966a18F7E3bdF7A"
]
},
{
"timestamp": 1747457635,
"transactionHash": "0x26d71626c5c2f49878d6ee14ba27d028a0ddc3ce91279e4abf1c2940767f3ef4",
"implementations": [
"base:0x56C2e7691441fDcDfA15BcCfe5a1Aec9d031e656"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately AlchemyMultisig2, EOA 1, EOA 2",
"upgradableBy": [
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1",
"delay": "no"
},
{
"name": "AlchemyMultisig2",
"delay": "no"
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x9F904Fea0efF79708B37B99960e05900fE310A8E#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "base:0xa51F58cdE1955754329E071626C7e74d860C0406",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xa51F58cdE1955754329E071626C7e74d860C0406#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "base:0xbB13eB1C56cf1408f657c6f3d56eFf188665B896",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xbB13eB1C56cf1408f657c6f3d56eFf188665B896#code"
}
]
},
"escrows": [
{
"address": "0x9F904Fea0efF79708B37B99960e05900fE310A8E",
"sinceTimestamp": 1729718343,
"tokens": [
"GHST"
],
"contract": {
"isVerified": false,
"address": "base:0x9F904Fea0efF79708B37B99960e05900fE310A8E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0xaDD83738fd8a1cdCccab49e761F36ED1C93805FD"
],
"implementations": [
"base:0x56C2e7691441fDcDfA15BcCfe5a1Aec9d031e656"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1729718343,
"transactionHash": "0x43cadcfbccd1c9d31753b79afeee54298787a85289a611d531abf2bd1467ee52",
"implementations": [
"base:0x8F0169dcF705E3c500a5f44C8966a18F7E3bdF7A"
]
},
{
"timestamp": 1747457635,
"transactionHash": "0x26d71626c5c2f49878d6ee14ba27d028a0ddc3ce91279e4abf1c2940767f3ef4",
"implementations": [
"base:0x56C2e7691441fDcDfA15BcCfe5a1Aec9d031e656"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows GHST sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0x9F904Fea0efF79708B37B99960e05900fE310A8E#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x73C6af7029E714DFf1F1554F88b79B335011Da68",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0xD09CE16eE9059A7b7de311147a9B81a9a0A4003d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1746472439,
"transactionHash": "0x6f8df51cbcb095789ce00c9674ff9ca9b2c6faeafaf0f6a91eaf8885d00c33e7",
"implementations": [
"eth:0xD09CE16eE9059A7b7de311147a9B81a9a0A4003d"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73C6af7029E714DFf1F1554F88b79B335011Da68#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x8f98f9ae2f2836Ed3a628c23311Ad9976B9fBF1B",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x88d3f3F43Ecd46635bd9f546bE7C4d52eBc20881"
],
"implementations": [
"eth:0xb8921bDB9Ca3697B9791A5116D5aA9C7c34566e8",
"eth:0x4541436dF3568F8eB21542c2C30b38f5F69d29a4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1746469415,
"transactionHash": "0x02347eef5f8983282386149ec51cdf2c71a213accc06a522f20d6a7cbdc341cd",
"implementations": [
"eth:0xe3b13e7b160aE4b799A7B3F9877316e717706291",
"eth:0x59CDE86f1a538a7a2329269d3704CA302DF23736"
]
},
{
"timestamp": 1747766591,
"transactionHash": "0x1f529475acbcee3bcffa4abc760e39b104a9f7a62e316c07661f6f3579199fa9",
"implementations": [
"eth:0xb8921bDB9Ca3697B9791A5116D5aA9C7c34566e8",
"eth:0x4541436dF3568F8eB21542c2C30b38f5F69d29a4"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately HychainMultisig\n * **owner**: UpgradeExecutor; ultimately HychainMultisig\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f98f9ae2f2836Ed3a628c23311Ad9976B9fBF1B#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xaF5800ADF22301968613c37DA9C3C2a486eA915A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0xfdB1487798E3104AC23c885f9BC94B98102Ff0BD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1746462011,
"transactionHash": "0xbe9d272252815301e6616f2075045660b8304aad0bfa5259a29680ec2eeee6ff",
"implementations": [
"eth:0x645341A2C76cD94324cBA658c19Acca2297b619C"
]
},
{
"timestamp": 1746524447,
"transactionHash": "0x1d40abd08860740df3696c6d8d80b88f20917df185b16000e97424014036de96",
"implementations": [
"eth:0xfdB1487798E3104AC23c885f9BC94B98102Ff0BD"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaF5800ADF22301968613c37DA9C3C2a486eA915A#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xE8AcC0E28a82a26D498f2C66B64C56B9Ef996c2e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0x9FB045EF8c6852455e82e886c87a4717732Ad4F7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754"
]
},
{
"timestamp": 1746462011,
"transactionHash": "0xbe9d272252815301e6616f2075045660b8304aad0bfa5259a29680ec2eeee6ff",
"implementations": [
"eth:0xdec03E497222017550Fb83273d8FB4546eaDA625"
]
},
{
"timestamp": 1746469415,
"transactionHash": "0x02347eef5f8983282386149ec51cdf2c71a213accc06a522f20d6a7cbdc341cd",
"implementations": [
"eth:0xE4CeB57354e5BF85bC2dC1C1fC5C0E0657370367"
]
},
{
"timestamp": 1747766591,
"transactionHash": "0x1f529475acbcee3bcffa4abc760e39b104a9f7a62e316c07661f6f3579199fa9",
"implementations": [
"eth:0x9FB045EF8c6852455e82e886c87a4717732Ad4F7"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE8AcC0E28a82a26D498f2C66B64C56B9Ef996c2e#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x88d3f3F43Ecd46635bd9f546bE7C4d52eBc20881",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig\n * **executors**: HychainMultisig",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x88d3f3F43Ecd46635bd9f546bE7C4d52eBc20881#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x0389E24A4Bc96518169f83F50FCDdA442dD8eAFd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0389E24A4Bc96518169f83F50FCDdA442dD8eAFd#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xD6c596b7ca17870DD50D322393deCE6C2085a116",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0xedB3F80173F7413b0B9661CDFDEedB3519088A1f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1746524447,
"transactionHash": "0x1d40abd08860740df3696c6d8d80b88f20917df185b16000e97424014036de96",
"implementations": [
"eth:0xedB3F80173F7413b0B9661CDFDEedB3519088A1f"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD6c596b7ca17870DD50D322393deCE6C2085a116#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x0F680fAF68BFfe6360C5c264d7649d874AF1507A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F680fAF68BFfe6360C5c264d7649d874AF1507A#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4C5984E3841790335E6DC2e7ed92802FbF8a300F#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x617f70525Dc4D2BBbd6ADFd3781DbEAe5C8F0048",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately HychainMultisig",
"upgradableBy": [
{
"name": "HychainMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x617f70525Dc4D2BBbd6ADFd3781DbEAe5C8F0048#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x774806aaFD8B4fCdC0985DE8058D41A4e0efab0b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x774806aaFD8B4fCdC0985DE8058D41A4e0efab0b#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xb6313ff423a864f1e700B4941714E8fF8Fa3954a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb6313ff423a864f1e700B4941714E8fF8Fa3954a#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0xD534457D005a895072E54B84DC51bAa5b11a44AC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD534457D005a895072E54B84DC51bAa5b11a44AC#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xe580c0338fc26fFc71C376caE6B82F9DE6e06289",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe580c0338fc26fFc71C376caE6B82F9DE6e06289#code"
}
]
},
"escrows": [
{
"address": "0x73C6af7029E714DFf1F1554F88b79B335011Da68",
"sinceTimestamp": 1709606087,
"tokens": [
"TOPIA"
],
"contract": {
"isVerified": true,
"address": "eth:0x73C6af7029E714DFf1F1554F88b79B335011Da68",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x4C5984E3841790335E6DC2e7ed92802FbF8a300F"
],
"implementations": [
"eth:0xD09CE16eE9059A7b7de311147a9B81a9a0A4003d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709606087,
"transactionHash": "0x0189408056104b3ae135806be8f29175efe35f6ca587fbd540dd95d16bb1482c",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1746472439,
"transactionHash": "0x6f8df51cbcb095789ce00c9674ff9ca9b2c6faeafaf0f6a91eaf8885d00c33e7",
"implementations": [
"eth:0xD09CE16eE9059A7b7de311147a9B81a9a0A4003d"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows TOPIA sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x73C6af7029E714DFf1F1554F88b79B335011Da68#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x2Bb27ECb6531B8978E1aFe0288C2cbC6505Ff5b7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x487c44f484dbD5e7163D2FCE47fa1a5780446b46"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1745530879,
"transactionHash": "0x82cdbc5853ed42499a9f43374d42d0693b7be2c0dcc3ad5e8ec15b507f82a683",
"implementations": [
"arb1:0x487c44f484dbD5e7163D2FCE47fa1a5780446b46"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2Bb27ECb6531B8978E1aFe0288C2cbC6505Ff5b7#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x51a68C63669109BED585347B847c23DcA1cF9713",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0xBBc368318D3bd98638ee85cc57D3865039a9ee96"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1733058219,
"transactionHash": "0xa6db4d21fc7341b13cc52767db9d6b4c0e82b3639dbebe226183bbcd5f1e5e39",
"implementations": [
"arb1:0x15Edf46734defab7F874E17FbC3A01fadC2FD5D6"
]
},
{
"timestamp": 1746558353,
"transactionHash": "0x8ee95c7ab718f6bc18ef5c29049c2931f54b30e9b52e4be30fc40f9fd41a7e4e",
"implementations": [
"arb1:0xBBc368318D3bd98638ee85cc57D3865039a9ee96"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x51a68C63669109BED585347B847c23DcA1cF9713#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x60A85a4C9F8Bdb92FAaFdb4eC98Ce4F4173e213A",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x65e556838D665e04737Be37816d12Fae633c7d83"
],
"implementations": [
"arb1:0x31c97a0A216CCd730bd8ab3ecAA97eACbA27b11a",
"arb1:0xA79305c7D5Ad6F8AF0292c863957a2488F13f0d1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1733080587,
"transactionHash": "0xf4d368e322103e127ae7c7141a8678c149cd3103ee13c3e607aa1d235014bcd3",
"implementations": [
"arb1:0x31c97a0A216CCd730bd8ab3ecAA97eACbA27b11a",
"arb1:0xA79305c7D5Ad6F8AF0292c863957a2488F13f0d1"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 1\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 1\n * **validators**: EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x60A85a4C9F8Bdb92FAaFdb4eC98Ce4F4173e213A#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x9Df55ed5546D9837E28f95f22daA66383957b16f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0xa8Ae2ed62A978e2108a1C7CBfdb43a5CBfdd2aD0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x09824fe72BFF474d16D9c2774432E381BBD60662"
]
},
{
"timestamp": 1733058219,
"transactionHash": "0xa6db4d21fc7341b13cc52767db9d6b4c0e82b3639dbebe226183bbcd5f1e5e39",
"implementations": [
"arb1:0xf2078f19A9322E2e0Dfd02839C7D74215F2E7512"
]
},
{
"timestamp": 1733080587,
"transactionHash": "0xf4d368e322103e127ae7c7141a8678c149cd3103ee13c3e607aa1d235014bcd3",
"implementations": [
"arb1:0xa8Ae2ed62A978e2108a1C7CBfdb43a5CBfdd2aD0"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9Df55ed5546D9837E28f95f22daA66383957b16f#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x65e556838D665e04737Be37816d12Fae633c7d83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1\n * **executors**: Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x65e556838D665e04737Be37816d12Fae633c7d83#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x173B8dd6960d8922DCF7eD29E245B1041Fcf71Ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704418048,
"transactionHash": "0xefec5163031d4086092a17ef7448d98d530d7ea0d6e4ed52a621dd430d1911b7",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x173B8dd6960d8922DCF7eD29E245B1041Fcf71Ae#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x1c37A831e405e2F3dd76eb8C9ecE483370D53AfE",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x68b8cc78fcA5665e2bb52350D398D3B02b70d4a2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1746558353,
"transactionHash": "0x8ee95c7ab718f6bc18ef5c29049c2931f54b30e9b52e4be30fc40f9fd41a7e4e",
"implementations": [
"arb1:0x68b8cc78fcA5665e2bb52350D398D3B02b70d4a2"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1c37A831e405e2F3dd76eb8C9ecE483370D53AfE#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x38Cb5EfbCb3e8783abbBb00210522586e79Ea1D8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x38Cb5EfbCb3e8783abbBb00210522586e79Ea1D8#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0x0bFd15d408c856aA5CC65f49B3A1d4441D9Cb11e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704418048,
"transactionHash": "0xefec5163031d4086092a17ef7448d98d530d7ea0d6e4ed52a621dd430d1911b7",
"implementations": [
"arb1:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0bFd15d408c856aA5CC65f49B3A1d4441D9Cb11e#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0xE72E807A72c7D36717a3ea9e7668ea690A2bf0E1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704418048,
"transactionHash": "0xefec5163031d4086092a17ef7448d98d530d7ea0d6e4ed52a621dd430d1911b7",
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE72E807A72c7D36717a3ea9e7668ea690A2bf0E1#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x95C8bB5D2039e9A8Aeed92DdCCdFbA283A6084Ad",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x95C8bB5D2039e9A8Aeed92DdCCdFbA283A6084Ad#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xBB769cAfc77b8Eadbcdeb8FAAE7369F9df244754",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1",
"upgradableBy": [
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xBB769cAfc77b8Eadbcdeb8FAAE7369F9df244754#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xC0FCF2284a31f051253a4db86213EAaDC09f3791",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC0FCF2284a31f051253a4db86213EAaDC09f3791#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xd87B426d53B17BeEe316D262aA81cdDBaA96C826",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd87B426d53B17BeEe316D262aA81cdDBaA96C826#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xDAa72c39422ad709DDd609e12E75A13267474347",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xDAa72c39422ad709DDd609e12E75A13267474347#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xf6a307A5868eB9c4a00F5efbD1EF8462AC63783f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf6a307A5868eB9c4a00F5efbD1EF8462AC63783f#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0xFe95b1f7cf7D7D14E9e38dEE0EFE1c9D3AaA3e69",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xFe95b1f7cf7D7D14E9e38dEE0EFE1c9D3AaA3e69#code"
}
]
},
"escrows": [
{
"address": "0x2Bb27ECb6531B8978E1aFe0288C2cbC6505Ff5b7",
"sinceTimestamp": 1704417858,
"tokens": [],
"contract": {
"isVerified": true,
"address": "arb1:0x2Bb27ECb6531B8978E1aFe0288C2cbC6505Ff5b7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x487c44f484dbD5e7163D2FCE47fa1a5780446b46"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704417858,
"transactionHash": "0xd94f6e199b922a17741a8d1add25575574944978d07e025e2c57eb5f9899a839",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1745530879,
"transactionHash": "0x82cdbc5853ed42499a9f43374d42d0693b7be2c0dcc3ad5e8ec15b507f82a683",
"implementations": [
"arb1:0x487c44f484dbD5e7163D2FCE47fa1a5780446b46"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x2Bb27ECb6531B8978E1aFe0288C2cbC6505Ff5b7#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x173B8dd6960d8922DCF7eD29E245B1041Fcf71Ae",
"sinceTimestamp": 1704418048,
"tokens": "*",
"contract": {
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x173B8dd6960d8922DCF7eD29E245B1041Fcf71Ae",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xDAa72c39422ad709DDd609e12E75A13267474347"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704418048,
"transactionHash": "0xefec5163031d4086092a17ef7448d98d530d7ea0d6e4ed52a621dd430d1911b7",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.",
"url": "https://arbiscan.io/address/0x173B8dd6960d8922DCF7eD29E245B1041Fcf71Ae#code"
},
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x5073dA9cA4810f3E0aA01c20c7d9d02C3f522e11",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x59B851c8b1643e0735Ec3F2f0e528f3d89c3408a"
],
"implementations": [
"eth:0x27Bb05e547CfC9b874f18b0F6F3FB62A58Be9CdB",
"eth:0xa6f528c65569d903C20e7D2639ad343128B4FD27"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1730251775,
"transactionHash": "0x81ed45f10aa3c6062d1d3ce5c6a2763c4e88e93e51d35665e94e33b2b04627ad",
"implementations": [
"eth:0x27Bb05e547CfC9b874f18b0F6F3FB62A58Be9CdB",
"eth:0xa6f528c65569d903C20e7D2639ad343128B4FD27"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Kinto Security Council\n * **owner**: UpgradeExecutor; ultimately Kinto Security Council\n * **validators**: Ankr, Caldera2, Certora 1, Hypernative2, KintoFoundation, KintsugiFoundation, MamoriLabs3, Turnkey Multisig, Venn2; ultimately EOA 1, EOA 2, EOA 3, EOA 4, EOA 5",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5073dA9cA4810f3E0aA01c20c7d9d02C3f522e11#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x6228e2FB8C561f1a5A963039Bc38Eb6D539A1A7F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0xd14D9d4c8985763B5037A4f253977e059385660c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754"
]
},
{
"timestamp": 1719506387,
"transactionHash": "0x9226b704344df97784d15fc6cdbcfef620f393011c803879e7ec2e8c875665b0",
"implementations": [
"eth:0x122B88885F1f365B69CAd38B167B039fEd0Ba096"
]
},
{
"timestamp": 1730251775,
"transactionHash": "0x81ed45f10aa3c6062d1d3ce5c6a2763c4e88e93e51d35665e94e33b2b04627ad",
"implementations": [
"eth:0xd14D9d4c8985763B5037A4f253977e059385660c"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6228e2FB8C561f1a5A963039Bc38Eb6D539A1A7F#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x859a53Fe2C8DA961387030E7CB498D6D20d0B2DB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x859a53Fe2C8DA961387030E7CB498D6D20d0B2DB#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xF4Ef823D57819AC7202a081A5B49376BD28E7b3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0xa5E09FfA33dd011F5B68aAA55F513D6773579f78"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1719506387,
"transactionHash": "0x9226b704344df97784d15fc6cdbcfef620f393011c803879e7ec2e8c875665b0",
"implementations": [
"eth:0x57411f5BA52531e8199066bC8EC650470A744883"
]
},
{
"timestamp": 1746546647,
"transactionHash": "0xddb2100d0cbc866a1716fa96353d277877650256d07b0291b60814276f866e28",
"implementations": [
"eth:0xa5E09FfA33dd011F5B68aAA55F513D6773579f78"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council\n * **batchPosters**: EOA 6",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF4Ef823D57819AC7202a081A5B49376BD28E7b3a#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x59B851c8b1643e0735Ec3F2f0e528f3d89c3408a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council\n * **executors**: Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x59B851c8b1643e0735Ec3F2f0e528f3d89c3408a#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x655761AD5FC251F414D6993A73184B0669F278c8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x655761AD5FC251F414D6993A73184B0669F278c8#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x7870D5398DB488c669B406fBE57b8d05b6A35e42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702609595,
"transactionHash": "0xff7d995569e4a00193462406da253b8fb2fa14e8fddf5f79bed51180e6099c54",
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7870D5398DB488c669B406fBE57b8d05b6A35e42#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xBFfaA85c1756472fFC37e6D172A7eC0538C14474",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x296339ED40ec80746b239b04dE943bb8619784b7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1714749779,
"transactionHash": "0x3ad996252ae2a17bb0e7b5ec38eee0d104fd097da479cb3911b34d925f1750d7",
"implementations": [
"eth:0x518465d9f81bDE1e573f9bD2a6761F8ADaAFe73e"
]
},
{
"timestamp": 1715126807,
"transactionHash": "0xec98dd39612eb11b2d7e15fc9961c34aba0796fd078989942636728ebeb888e3",
"implementations": [
"eth:0xc235c5194f2404234fc7C99b4dd15289BB735Cf5"
]
},
{
"timestamp": 1746546647,
"transactionHash": "0xddb2100d0cbc866a1716fa96353d277877650256d07b0291b60814276f866e28",
"implementations": [
"eth:0x296339ED40ec80746b239b04dE943bb8619784b7"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBFfaA85c1756472fFC37e6D172A7eC0538C14474#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xD9041DeCaDcBA88844b373e7053B4AC7A3390D60",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702609595,
"transactionHash": "0xff7d995569e4a00193462406da253b8fb2fa14e8fddf5f79bed51180e6099c54",
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD9041DeCaDcBA88844b373e7053B4AC7A3390D60#code"
},
{
"name": "Bridger",
"isVerified": true,
"address": "eth:0x0f1b7bd7762662B23486320AA91F30312184f70C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf152Abda9E4ce8b134eF22Dc3C6aCe19C4895D82"
],
"implementations": [
"eth:0xae2F80339Bdd9bd384502A62aEe956eAbF3796e6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710248135,
"transactionHash": "0x5fe42b41ba3aafb36ec09d39284fdfc0d6df534b81488c7382ee8418fe620e62",
"implementations": [
"eth:0x925eC66892261203536a4aede9CA8e8D0feeA4ad"
]
},
{
"timestamp": 1710333095,
"transactionHash": "0xa1780c4191178aef57f3fc1a9d38a431d46fa163ed0436c839afade5dc91328e",
"implementations": [
"eth:0x31a20f10c846BD3Ed41c6c05c340bFD7A57ECADA"
]
},
{
"timestamp": 1710466151,
"transactionHash": "0xd52c14d572e45c1bd011844d136b7c492fc5ecb802e1c50f850c6662f3a7fccf",
"implementations": [
"eth:0xE3641CbDAc5477C350c8FeAAF52Ddc021451A2aA"
]
},
{
"timestamp": 1711435883,
"transactionHash": "0x1b0c58c017710ce99817ef751625accd468c9661ecff7984680eaf6e2150d968",
"implementations": [
"eth:0x989b9f407687DA3050C957CfeF5E6c18BeE7cb9F"
]
},
{
"timestamp": 1716252923,
"transactionHash": "0xe8481050b8e1b2d41d1e79a89d004596c9f1ed6293e2a0b07e295d7104b72108",
"implementations": [
"eth:0x3636617973f25a512676cb06876f0C885568664a"
]
},
{
"timestamp": 1716336551,
"transactionHash": "0x80b6eb0ef3cabe648cfb4cd49f4c6efbdb3283f04682065f99f4c871c8315839",
"implementations": [
"eth:0x0210AE8703F8c9A88D7050825bd8001E359CB4BA"
]
},
{
"timestamp": 1716344231,
"transactionHash": "0xa99267f3208e313084784d7da895d88acd4a86001483566f21f3073e0ee13039",
"implementations": [
"eth:0x270f25127D7C48c956459e113aa81615CC30AeE2"
]
},
{
"timestamp": 1719091499,
"transactionHash": "0xf174716076d1373e6ee74c5f2afc7aea9de184deb45b3c992d873160c0bf5355",
"implementations": [
"eth:0xEEe82E92bA40A694409B4BDa3D7426188c61163e"
]
},
{
"timestamp": 1721679179,
"transactionHash": "0x0298ee3f7f0e0ebb53b19939a06453013a051923a1f27e59362d93ec2012fc3f",
"implementations": [
"eth:0x23559eB4Ad22c31940a929958B104821126F35b7"
]
},
{
"timestamp": 1722978443,
"transactionHash": "0x07dac4c8df3e4fbc7619636522e7f893296c5ef9a7dd3b5a28976d5eedf09fd4",
"implementations": [
"eth:0x47e28e296BE2EE69b4579d5eecbABA38217a2b03"
]
},
{
"timestamp": 1727372507,
"transactionHash": "0x31a2c058d7ce91c9d1b526764cf6442a45bdf662d2725bf8535a167303250bec",
"implementations": [
"eth:0x21D3921B50617BDef223207118950B0b577e4007"
]
},
{
"timestamp": 1734395915,
"transactionHash": "0x9e8c1bcb81d01c1d3ed8c7f0b34ac033d5838e341641a809a6a1ad101139e118",
"implementations": [
"eth:0xae2F80339Bdd9bd384502A62aEe956eAbF3796e6"
]
}
],
"description": "Bridger gateway that can swap assets to 'L2 final assets' defined by the admin before bridging them to the L2. It does not have a function to bridge via the canonical bridge and uses the external socket bridge by default.\n* Roles:\n * **admin**: Kinto Multisig",
"upgradableBy": [
{
"name": "Kinto Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0f1b7bd7762662B23486320AA91F30312184f70C#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2C1e1A31d2bC26f7BE3CAB5Cb0806641847B3C59",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2C1e1A31d2bC26f7BE3CAB5Cb0806641847B3C59#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x52EcE832AF3DF3125BbfD6423E0425dB3fA99D3F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Kinto Security Council",
"upgradableBy": [
{
"name": "Kinto Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x52EcE832AF3DF3125BbfD6423E0425dB3fA99D3F#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x551E2501074D80E22c5FfB69b5fd8ba2939593b7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x551E2501074D80E22c5FfB69b5fd8ba2939593b7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x74C717C01425eb475A5fC55d2A4a9045fC9800df#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x778ca912Bd8b35dDA84852B47BA8624e08f640A6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x778ca912Bd8b35dDA84852B47BA8624e08f640A6#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xacED35d61f71A804E7627b5622c267C8Ac31d38e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xacED35d61f71A804E7627b5622c267C8Ac31d38e#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0xEd696D87C351C2ef687c1c484c3e297B276a40d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEd696D87C351C2ef687c1c484c3e297B276a40d1#code"
}
],
"kinto": [
{
"name": "KintoAppRegistry",
"isVerified": true,
"address": "kinto:0x5A2b641b84b0230C8e75F55d5afd27f4Dbd59d5b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"kinto:0xacC000818e5Bbd911D5d449aA81CB5cA24024739"
],
"implementations": [
"kinto:0xb9cE6BC89b79c713f34fd15D82a70900fEFD0de1"
]
},
"chain": "kinto",
"pastUpgrades": [
{
"timestamp": 1704852483,
"transactionHash": "0xde75968b0229e8642d50ce24b04d03c82f94c7c09c7e5295e344c29c59509a42",
"implementations": [
"kinto:0xEDA88D4810E14aE4C384369CbC6F1510787Dc4fB"
]
},
{
"timestamp": 1706044071,
"transactionHash": "0x8499136067b2f7054fec3ee6a666c316c84cb16dae358501a7ed4f3cb8bf2d18",
"implementations": [
"kinto:0xA82F30210F7dB1642bc20a5adCECbB16f766435B"
]
},
{
"timestamp": 1706045586,
"transactionHash": "0x92482d283200aa211700c0f4d8b9e4a6d99ca218edb4037c71f1609e6a82f008",
"implementations": [
"kinto:0xA82F30210F7dB1642bc20a5adCECbB16f766435B"
]
},
{
"timestamp": 1707328007,
"transactionHash": "0x4e490e7a1750adae92b047c5c031496b73a1bf741b41cfb321b24a57dbf5f620",
"implementations": [
"kinto:0x60ce7AF33fB6BCA504058fc1F5BF0bc816AD7Fc1"
]
},
{
"timestamp": 1707979667,
"transactionHash": "0x9d555f249857efbb76ff058de2188602fa49a202f5e8249cc463d274b2e57e9e",
"implementations": [
"kinto:0xe1F135742dE49A5A3337A59440b1B7a986F634ea"
]
},
{
"timestamp": 1719945551,
"transactionHash": "0xb2ea3f8b83f6bf3795c3a6a59066a3bbc168063aef8d671873704ed1d98b5263",
"implementations": [
"kinto:0x48D2b947B1aa3A23A890dd456a404394fb2F1636"
]
},
{
"timestamp": 1720124905,
"transactionHash": "0xc2da3cd399b883f8d1a3edb0983815cf8be06a8dd9921a2b153b2b399ad8fa52",
"implementations": [
"kinto:0x2542b185DFed7F6312CFE63eFC4e295DcC2AE154"
]
},
{
"timestamp": 1721255965,
"transactionHash": "0x3efb1c4001ac3432eda7a8937bd5443a734208ec33c3163505005d7afbf56a3f",
"implementations": [
"kinto:0x4060d0628dda0BD6Cc65ef9cEe3Ac16cc0B41F1e"
]
},
{
"timestamp": 1721256395,
"transactionHash": "0x4b015bf29194bc172a826606ca3a9edc678ed4956758d4b6b38ca2fdd87e338c",
"implementations": [
"kinto:0x476ac3dEEe552acbc5a16f3Cb745C6EF8F597e9d"
]
},
{
"timestamp": 1721314470,
"transactionHash": "0x2bff1ece52349108d91c3e15ab0071df7008ffbf50d682aace6ea628064225a7",
"implementations": [
"kinto:0xdE7d1b7510435F3E849c4158D21788B82d7040D5"
]
},
{
"timestamp": 1721335233,
"transactionHash": "0x008cc76a3869a0ba622ed914ae8261f08e6ef9f2b1c27bb17ec8294b2962f9dd",
"implementations": [
"kinto:0x89C44a887bB582d2E708d6A452f67538b1A71087"
]
},
{
"timestamp": 1721409599,
"transactionHash": "0xe55a23d9834d4447a6f41e8d22bb27a19644516f2a54bf813a30fc53435e7916",
"implementations": [
"kinto:0xe1E48162e1E18e04E6D073884396eFE2964D9225"
]
},
{
"timestamp": 1721410637,
"transactionHash": "0x617c43f088a4a3d1414b5dce120c0bca00ebcf5e935909d07e2f55d560f534e2",
"implementations": [
"kinto:0x628D6a2546c00119aBC35262856B5abF6eea547b"
]
},
{
"timestamp": 1721435679,
"transactionHash": "0x65a3ce1967ee12753fa0b9dfaa72f3826b05afad7953331fc9a980944b241f9e",
"implementations": [
"kinto:0xc7e69C953418d746a0aa01b5Ddf12911cE90A27C"
]
},
{
"timestamp": 1721583085,
"transactionHash": "0x11c127be50c54efdcf307e79bd79bb51e7ef34adc0d228125d4096c5831e422e",
"implementations": [
"kinto:0xaE0Ed29500fd52311690b56A6FB901843163b7Be"
]
},
{
"timestamp": 1722366304,
"transactionHash": "0x648b891c385ae4e969367533e711bb7df277fe14d27aecf883d8559282f7c0ad",
"implementations": [
"kinto:0x9CB3aB22F17223b0A7Ae58BA31CcFf2A3EbE3411"
]
},
{
"timestamp": 1724105193,
"transactionHash": "0xa0e406a27947d135d3f33ce5534e3258edd49da8f3270b1bf89658beb8854aca",
"implementations": [
"kinto:0xa592FB45C110F1540D1f13D6563Bb8E1a429Ab4a"
]
},
{
"timestamp": 1724774724,
"transactionHash": "0x34c2da9b0134d445025877452c261549c144fc9aa06303adbc381e748a08e002",
"implementations": [
"kinto:0x3D87691B1f887206eAaB7cbfE9Ff067Dc129093B"
]
},
{
"timestamp": 1728697315,
"transactionHash": "0x20b98c3091c7bb516270dca8e0f1c14981dfe166985aa31b3bfb3ebfb64b6a5b",
"implementations": [
"kinto:0xeC00432A044271A906427554906302e6408B5225"
]
},
{
"timestamp": 1728737346,
"transactionHash": "0x27c7e650d4537b6ce2532d2c3116e0163e89f0cc9f268213994b735e40b9f32d",
"implementations": [
"kinto:0x226FCf8657ca310b375a7e23B87092cD1e3af92f"
]
},
{
"timestamp": 1730390196,
"transactionHash": "0xacd0d3fa0467ad903ee9db6f92b28820c9e8971528d4707a73736c167ade4b8a",
"implementations": [
"kinto:0xb94240Ff4aB45811c550ee3c5Ea19bC692210A29"
]
},
{
"timestamp": 1731189235,
"transactionHash": "0xe141386873afcd007f7367eddb0aeccafbc296cbed871bc2f20d86a9272a633d",
"implementations": [
"kinto:0xb9cE6BC89b79c713f34fd15D82a70900fEFD0de1"
]
}
],
"description": "Central system contract defining addresses that are allowed to be called by EOAs. The modified Kinto node reads this configuration and drops all other transactions from EOAs (enforced by a modified state transition function). As a result, users can only transact using a canonical smart wallet.\n* Roles:\n * **admin**: AccessManager\n * **owner**: AccessManager",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0x5A2b641b84b0230C8e75F55d5afd27f4Dbd59d5b#code"
},
{
"name": "KintoWalletFactory",
"isVerified": true,
"address": "kinto:0x8a4720488CA32f1223ccFE5A087e250fE3BC5D75",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"kinto:0xacC000818e5Bbd911D5d449aA81CB5cA24024739"
],
"implementations": [
"kinto:0x1Bc47279D052Edb9C1770242287eFC23317Ed675"
]
},
"chain": "kinto",
"pastUpgrades": [
{
"timestamp": 1703803636,
"transactionHash": "0xf3c9b71be4fd432e553ffbd0830c9a37a223e58aea7d917f59e0b9925bf1ef28",
"implementations": [
"kinto:0x9F8Af18f6C1E5E4DA42b33D283F23EB8C23DF505"
]
},
{
"timestamp": 1704851823,
"transactionHash": "0xb19bd9f9546a11a17bf89a7bc467d1138d0249ab97dde4f0fe83cfae4302e1af",
"implementations": [
"kinto:0xd6Dea5Ff03f099242DBDF737E25e4bf4B9d4f9f6"
]
},
{
"timestamp": 1705336593,
"transactionHash": "0x02e7d7327761fac3fe83beefd23ecae331aade5d0d303861056cdf9f2dab8eb7",
"implementations": [
"kinto:0x652c9b99f916beb42ccb7883a725E2f9219095B4"
]
},
{
"timestamp": 1705346386,
"transactionHash": "0x44fd2d87a8b692ae4257c1336d44296c4b1e4e78d2a0093d97a4fcb41dffa0f5",
"implementations": [
"kinto:0x1b5976043578C6F4d2D1d17D3d4AE89Cf001B9d5"
]
},
{
"timestamp": 1705366148,
"transactionHash": "0xa64107a2068c8cd6d653bd8bdce635a815f39586a5ed69c352f1e4a73e08f9cd",
"implementations": [
"kinto:0xc85dAbd4b238477A1d821111A6ec8BC94D9F6394"
]
},
{
"timestamp": 1705732937,
"transactionHash": "0x48188ec199172f045bbcae2fd576d33c3a3e815931349b121d7cddc1de137f95",
"implementations": [
"kinto:0x48525Ac956c946110e2358A7E8a7A3D8290676EC"
]
},
{
"timestamp": 1706045600,
"transactionHash": "0xd134cdb81b340183459994909b5579f421a4353f61a699b08f3e5ce2e513cf46",
"implementations": [
"kinto:0x63495C71a036Fb886e65b6F41BA2A26d406E8108"
]
},
{
"timestamp": 1706814200,
"transactionHash": "0xd46d2e4408972dc97ea9387267b37667bffd0a13dd5892d2b8604e17395a9bd3",
"implementations": [
"kinto:0x30D26e75D542Ba2A7e3B35BcC78FDC064B935D8B"
]
},
{
"timestamp": 1707979706,
"transactionHash": "0xd1ce7ae06ce76630c63e745d01163f4b6cf40900a22074a7f514d6e5aa7afb3f",
"implementations": [
"kinto:0x7a4A12Aa90eF6F393777A0F2bA1512F4963f406a"
]
},
{
"timestamp": 1710228636,
"transactionHash": "0x163d555fb34da76bd2055457b4abd0713c12476a2bf9db6694b0e06f7f28e8b8",
"implementations": [
"kinto:0x8eE847CCF9C6143e55Ac156c2Dee42c0928A3ccB"
]
},
{
"timestamp": 1710492602,
"transactionHash": "0x90e8959faaba48b32ee578b16427c148df949618dd588735e33ef730ca097344",
"implementations": [
"kinto:0x37F7E177dA12063632cBB9bA964f4B7F71A8De1a"
]
},
{
"timestamp": 1710516487,
"transactionHash": "0x8a2a8eb95a0ddc294076cd547a162d0db4ad847f205d7a1d4aa8f853932ddecc",
"implementations": [
"kinto:0x916FeD38032eC9f550b91da58A50D0487f12C098"
]
},
{
"timestamp": 1712140989,
"transactionHash": "0x2603e64d46b43f597907b4e75e1328c3c9708bf21d679c85842468ae74eb6585",
"implementations": [
"kinto:0x7452748E16429FDa1501cD03D1289d4Fd262A0bb"
]
},
{
"timestamp": 1716928137,
"transactionHash": "0x9453bcbda654b94abb2eb8623543f84504cc2bb05777de4baa97216c2bb72e66",
"implementations": [
"kinto:0x93378e7303804e80eafC4bbcC40dE9228c10fF73"
]
},
{
"timestamp": 1717624332,
"transactionHash": "0xeac8c1256dbdee7b01b591209f3bb09fd03694ec850b3ce9b5681cc6fc63fcbe",
"implementations": [
"kinto:0x880742Eac8DD7c5C40fD19dc00C0c4785C214bEE"
]
},
{
"timestamp": 1718049278,
"transactionHash": "0x194878dfe2eed6db4fe13b57bb2f0e11ad5760f0b4a6fc69917eee8e82e61085",
"implementations": [
"kinto:0x19D2dc7dF25E9711c9551bc07D4EbCac780b71d8"
]
},
{
"timestamp": 1718489270,
"transactionHash": "0x57583bb3409d701289f051e763cc1ea63f29f0d1533724628129e6199a13e7fb",
"implementations": [
"kinto:0xB80A4b325bA44c441275853656F9239044a0D78a"
]
},
{
"timestamp": 1719674854,
"transactionHash": "0x5864b8a919c9d685cfa6a158f0facbe31e17d0de8a9d246dc7f1d83f42072b7f",
"implementations": [
"kinto:0xd2ecFd5Fc0985D217FD28705847f189F4990875f"
]
},
{
"timestamp": 1719675297,
"transactionHash": "0x29ba69b7f64244b4e7d4a60f0b3fb9dd5ef82a58b3c044047999df8fd82f6208",
"implementations": [
"kinto:0x1618A2F977F17f4AE8a3e08E79300f09677d18c2"
]
},
{
"timestamp": 1721593106,
"transactionHash": "0x3937fc848b6c1c012e8f6379ab55329920be3928bfb799d86b7b9b29e108273f",
"implementations": [
"kinto:0x12FF2EF4291d7EF4e4B58B6274aa65A895a15259"
]
},
{
"timestamp": 1721664808,
"transactionHash": "0x63e90979522ddb51bf7df0e5f3980b927c98dc2e7c3e819390528a0467be59ed",
"implementations": [
"kinto:0xD08bB7002FeDb550e458F1b3395F0E80AD7CE116"
]
},
{
"timestamp": 1722029848,
"transactionHash": "0xa03c844698c376f8ea14a5d657de099fcc45706bb9a106eeee0af960f6f530e8",
"implementations": [
"kinto:0x62Ee6192c4288f8482F8632cf44fd87c4c612ef6"
]
},
{
"timestamp": 1729644495,
"transactionHash": "0x3be2498e2237c3c78d372dca2fc25dbe830b7b92ec4aaf9d92b3be26eba22988",
"implementations": [
"kinto:0x872de68253938792e4e6402d05ef82d98DAAbCdd"
]
},
{
"timestamp": 1729785401,
"transactionHash": "0x2c5b369329be46ad4a3db64380a2cb87493f7beb80ea91c258d4d648ca9e5806",
"implementations": [
"kinto:0x1Bc47279D052Edb9C1770242287eFC23317Ed675"
]
}
],
"description": "Deploys new KintoWallet smartwallets for users upon passing KYC checks. Also manages the beacon implementation for all KintoWallets and their recovery logic. KintoWallets can be funded with ETH via this contract.\n* Roles:\n * **admin**: AccessManager\n * **owner**: AccessManager",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0x8a4720488CA32f1223ccFE5A087e250fE3BC5D75#code"
},
{
"name": "KintoID",
"isVerified": true,
"address": "kinto:0xf369f78E3A0492CC4e96a90dae0728A38498e9c7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"kinto:0x0000000000000000000000000000000000000000"
],
"implementations": [
"kinto:0x1d61772AE2e157f9F6A4127526eD86AB5801a477"
]
},
"chain": "kinto",
"pastUpgrades": [
{
"timestamp": 1703803592,
"transactionHash": "0x452c7d1c49781ba0501dc0baba338ec790d9d73fbb65e8fab67b9313fe0bf633",
"implementations": [
"kinto:0xa3625A24376C2eac96eDcF353C88F3F3a1De030a"
]
},
{
"timestamp": 1705187805,
"transactionHash": "0x5526a267a631debc424ea7eda141fd18f5fe357505cb32bc2c6bae22fbb15246",
"implementations": [
"kinto:0xd838189759e85Ac8673515FFd9c72cc854f360Fa"
]
},
{
"timestamp": 1705336599,
"transactionHash": "0x6bc0ebf4dca10e8817f37d144980b6908597ed327a05707ceda82f1398692959",
"implementations": [
"kinto:0x2AA456d97fB8f75283327458920D4daA2BFe363e"
]
},
{
"timestamp": 1706814188,
"transactionHash": "0xae9d5d179229788eb3f6c25f24fc0d7adf7906a86c41cb344b36d5d0db812d6b",
"implementations": [
"kinto:0x41bC5c9B1FC8Ab95890De5339737Bc791421ea56"
]
},
{
"timestamp": 1706815715,
"transactionHash": "0x84b908e328466db6827fbfde299bd3084b48d27aac618ee825815f6ee590021d",
"implementations": [
"kinto:0xE5eBdFCB597DD84CFeA412278f1c46A0D83aaC39"
]
},
{
"timestamp": 1707979700,
"transactionHash": "0x4f90c154f986a5dcdbe046dc12c5653b88c0dad96178f2a82cf32ebf7d99c1ae",
"implementations": [
"kinto:0x074e5ECc285b90781f74e491F33fF37849F97220"
]
},
{
"timestamp": 1729031059,
"transactionHash": "0x0ee10f2c231a7703590ac0a8eff238c419203e49d1e4c8f722cfcad5d050ee71",
"implementations": [
"kinto:0xd3642f5CF57A5090F173294F68Df66583521FeA0"
]
},
{
"timestamp": 1733521439,
"transactionHash": "0x393717142a85ed552e3d455cd886d11abe37095fa7f7be1dd1db7214a65a74dd",
"implementations": [
"kinto:0x7CFe474936fA50181ae7c2C43EeB8806e25bc983"
]
},
{
"timestamp": 1733860817,
"transactionHash": "0x9fa20142e6e04305e74314e6670ecbf65477f470a9251ec55dc52ddcd34940b1",
"implementations": [
"kinto:0xaa0726829d41E3C70B84Bc5390cce82afC56871A"
]
},
{
"timestamp": 1738769861,
"transactionHash": "0xee19b10811d98a79d18ea4dfd1684702c0e30070a2e3cf428de3799c257b83f8",
"implementations": [
"kinto:0x4aC06254558e144C41461a319822993900cE2eE4"
]
},
{
"timestamp": 1744383191,
"transactionHash": "0xd8aa458f29ed74a06b3f97a9455c2495bd8d32ea19cdc4764936a6b6e1d2404f",
"implementations": [
"kinto:0x1d61772AE2e157f9F6A4127526eD86AB5801a477"
]
}
],
"description": "Manages Kinto's KYC system: The KYC_PROVIDER roles responsible for managing the KYC status and KYC metadata of user wallets. Each KintoWallet checks the KYC status of its user in this contract as part of the signature check.\n* Roles:\n * **dEFAULT_ADMINs**: AccessManager\n * **gOVERNANCErs**: AccessManager\n * **kYC_PROVIDERs**: AccessManager, EOA 10, EOA 7, EOA 8, EOA 9, Kinto Multisig 2\n * **uPGRADERs**: AccessManager",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0xf369f78E3A0492CC4e96a90dae0728A38498e9c7#code"
},
{
"name": "AccessManager",
"isVerified": true,
"address": "kinto:0xacC000818e5Bbd911D5d449aA81CB5cA24024739",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "kinto",
"description": "OpenZeppelin AccessManager contract: Serves as a proxy contract defining the roles, permissions and delays to call functions in target contracts.\n* Roles:\n * **kintoMultisig2Permission**: Kinto Multisig 2\n * **securityCouncilPermission**: KintoSecurityCouncil_L2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0xacC000818e5Bbd911D5d449aA81CB5cA24024739#code"
},
{
"name": "Socket",
"isVerified": true,
"address": "kinto:0x3e9727470C66B1e77034590926CDe0242B5A3dCc",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "kinto",
"description": "Central contract for bridging via the external socket bridge.\n",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0x3e9727470C66B1e77034590926CDe0242B5A3dCc#code"
},
{
"name": "EntryPoint",
"isVerified": true,
"address": "kinto:0x2843C269D2a64eCfA63548E8B3Fc0FD23B7F70cb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "kinto",
"description": "Used as entrypoint to transact using smartwallets and UserOps.\n",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0x2843C269D2a64eCfA63548E8B3Fc0FD23B7F70cb#code"
},
{
"name": "BeaconKintoWallet",
"isVerified": true,
"address": "kinto:0x87f0eE85bF3198654900a422832157abBba30828",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "kinto",
"description": "Beacon proxy for the KintoWallet smartwallet implementation that is used for all users.\n* Roles:\n * **owner**: KintoWalletFactory",
"discoveryDrivenData": true,
"url": "https://explorer.kinto.xyz/address/0x87f0eE85bF3198654900a422832157abBba30828#code"
}
]
},
"escrows": [
{
"address": "0x859a53Fe2C8DA961387030E7CB498D6D20d0B2DB",
"sinceTimestamp": 1702607855,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x859a53Fe2C8DA961387030E7CB498D6D20d0B2DB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74C717C01425eb475A5fC55d2A4a9045fC9800df"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1702607855,
"transactionHash": "0xd51bb4d6150d5fbaa61cf5281598b18c4efba4284aecb4420fc8d834dba357d8",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x859a53Fe2C8DA961387030E7CB498D6D20d0B2DB#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA6Ae29Ce5c38DFE0Dd95B716748ac747f31E4013",
"sinceTimestamp": 1730655983,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"LINK"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xC9a9f47Ae41Fa4287837751AF7325e87a1dE9326",
"sinceTimestamp": 1730656015,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"LINK"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0xbE60CC82A67AC7BBA8F41408B0C6833cE73e0E4D",
"sinceTimestamp": 1730657767,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"cbBTC"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x00A0c9d82B95a17Cdf2D46703F2DcA13EB0E8A94",
"sinceTimestamp": 1716142367,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xc5d01939Af7Ce9Ffc505F0bb36eFeDde7920f2dc",
"sinceTimestamp": 1716128303,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x755cD5d147036E11c76F1EeffDd94794fC265f0d",
"sinceTimestamp": 1716142595,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x12Cf431BdF7F143338cC09A0629EDcCEDCBCEcB5",
"sinceTimestamp": 1715972567,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"DAI"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x351d8894fB8bfa1b0eFF77bFD9Aab18eA2da8fDd",
"sinceTimestamp": 1716142919,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"ENA"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xdf34E61B6e7B9e348713d528fEB019d504d38c1e",
"sinceTimestamp": 1716143207,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDe"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xdb161cdc9c11892922F7121a409b196f3b00e640",
"sinceTimestamp": 1716143711,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"EIGEN"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xc7a542f73049C11f9719Be6Ff701fCA882D60020",
"sinceTimestamp": 1716143759,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"eETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x5B8Ae1C9c5970e2637Cf3Af431acAAebEf7aFb85",
"sinceTimestamp": 1716143807,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sDAI"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x43b718Aa5e678b08615CA984cbe25f690B085b32",
"sinceTimestamp": 1716143855,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"sUSDe"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xD357F7Ec4826Bd1234CDA2277B623F6dE7dA56Dc",
"sinceTimestamp": 1716143903,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wUSDM"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xeB66259d2eBC3ed1d3a98148f6298927d8A36397",
"sinceTimestamp": 1716143951,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x95d60E34aB2E626407d98dF8C240e6174e5D37E5",
"sinceTimestamp": 1716216227,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"ETHFI"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x25f0D71Da51A77Ca231484eBbAD1f588A0230ef2",
"sinceTimestamp": 1721253827,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"PAXG"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xd04Bc056BE36a6127267E4F71d3b43D1BEEfE8bF",
"sinceTimestamp": 1721253935,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"XAUt"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x0fC783f611A888A2cAbC3dA482Add3215334dCc2",
"sinceTimestamp": 1721252735,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"MKR"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xA2bc0DaA9BF98820632bCa0663a9616f6bC180f8",
"sinceTimestamp": 1725992651,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SOL"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xd1228C6CB94a670F30D5ACb1340a9d96aC30e6A8",
"sinceTimestamp": 1730147723,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SPX"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0xfDF267c43c0C868046c66695c1a85c973418CBFb",
"sinceTimestamp": 1716142417,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "base",
"chainId": 8453
},
{
"address": "0xE194f2B41A5dc6Be311aD7811eF391a0ac84687d",
"sinceTimestamp": 1716128411,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "base",
"chainId": 8453
},
{
"address": "0xc7744d1A93c56a6eE12CCF1F2264641F219528fE",
"sinceTimestamp": 1716142647,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "base",
"chainId": 8453
},
{
"address": "0x9354E3822CE6BF77B2761f8922972BB767D771d8",
"sinceTimestamp": 1715972109,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"DAI"
],
"chain": "base",
"chainId": 8453
},
{
"address": "0x8de880ecA6B95214C1ECd1556BF1DB4d23f212B5",
"sinceTimestamp": 1716143999,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "base",
"chainId": 8453
},
{
"address": "0x67c1869c1A105d8117938cFC6597409f59eA9af7",
"sinceTimestamp": 1730154133,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SPX"
],
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x4D585D346DFB27b297C37F480a82d4cAB39491Bb",
"sinceTimestamp": 1716142397,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x6F855dE562CC9d019757f5F68a15Cd392FF52962",
"sinceTimestamp": 1716128387,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wstETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0xC88A469B96A62d4DA14Dc5e23BDBC495D2b15C6B",
"sinceTimestamp": 1716142624,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x36E2DBe085eE4d028fD60f70670f662365d0E978",
"sinceTimestamp": 1715972440,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"DAI"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x7C852c2a3e367453Ce3a68A4D12c313BaD0565e3",
"sinceTimestamp": 1716143237,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDe"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x8bD30d8c5d5cBb5e41Af7B9A4bD654b34772e890",
"sinceTimestamp": 1716143980,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"weETH"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x500c8337782a9f82C5376Ea71b66A749cE42b507",
"sinceTimestamp": 1717616624,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wUSDM"
],
"chain": "arbitrum",
"chainId": 42161
},
{
"address": "0x25a1baC7314Ff40Ee8CD549251924D066D7d5bC6",
"sinceTimestamp": 1718367579,
"includeInTotal": false,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"SolvBTC"
],
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot Kinto",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "notVerified",
"hash": "0x58a9512cf4096461f866446387e845c6573856ef603bba4e24cb1d89630a675c"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x211C9893653Aea2088E34765e7039617E95fD8fD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x211C9893653Aea2088E34765e7039617E95fD8fD#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x59E088d827CB7983Cd0CC64312E472D7cc8a4F44",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x59E088d827CB7983Cd0CC64312E472D7cc8a4F44#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xb75A0a5812303cBB198d4f0BcA7CA38f17b8783e",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x4D0D8724ff2303A1679689a9Cc8e2A62f821e0E3"
],
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately EOA 1\n * **validators**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb75A0a5812303cBB198d4f0BcA7CA38f17b8783e#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xB9450b512Fd3454e9C1a2593C5DF9E71344b5653",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x18ed2d5bF7c5943bFd20a2995b9879E30c9E8dDa"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0x18ed2d5bF7c5943bFd20a2995b9879E30c9E8dDa"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB9450b512Fd3454e9C1a2593C5DF9E71344b5653#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x4D0D8724ff2303A1679689a9Cc8e2A62f821e0E3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **executors**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4D0D8724ff2303A1679689a9Cc8e2A62f821e0E3#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x1526DAacDAf3EE81E5ae087E0DA8677E8c677CE5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1526DAacDAf3EE81E5ae087E0DA8677E8c677CE5#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x4fF3E70f30f0394Ad62428751Fe3858740595908",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714620855,
"transactionHash": "0x325e5d768bde71c89bb5e9ef015901fc78ba3302cabfbb21296bc6cf26b96b6e",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4fF3E70f30f0394Ad62428751Fe3858740595908#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x80de5c4ccDfb7b6a250A9588C2d80F62a2B7d13F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x8f6406781cC955398C45a48DcEfeEBDb2c8e2CaA"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0x8f6406781cC955398C45a48DcEfeEBDb2c8e2CaA"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x80de5c4ccDfb7b6a250A9588C2d80F62a2B7d13F#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x817C8Da480bC6b42a5FA88A26e9eD8c0c03968Cf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714620855,
"transactionHash": "0x325e5d768bde71c89bb5e9ef015901fc78ba3302cabfbb21296bc6cf26b96b6e",
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x817C8Da480bC6b42a5FA88A26e9eD8c0c03968Cf#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x29994207C5AeDc83F27c5dc16E468f328832d42d#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x526a6E634aD36bB0007c4422586c135F1F9B525a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x526a6E634aD36bB0007c4422586c135F1F9B525a#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x800dA62bE6626127F71B34E795286C34C04D6712",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x800dA62bE6626127F71B34E795286C34C04D6712#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xb20107bfB36D3B5AcA534aCAfbd8857b10b402a8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb20107bfB36D3B5AcA534aCAfbd8857b10b402a8#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xc40e1DdDDc4837e63Bfb21EF34d3Ca4A6c78fD15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0xF40C24bA346aA459ED28e196D4A46Cf17174bD6C"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0xF40C24bA346aA459ED28e196D4A46Cf17174bD6C"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc40e1DdDDc4837e63Bfb21EF34d3Ca4A6c78fD15#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0xc555b2F1D559Fbb854569b33640990D178F94747",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc555b2F1D559Fbb854569b33640990D178F94747#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xe8709022B9C9D7347856c75910fe07e10C904446",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe8709022B9C9D7347856c75910fe07e10C904446#code"
}
]
},
"escrows": [
{
"address": "0x59E088d827CB7983Cd0CC64312E472D7cc8a4F44",
"sinceTimestamp": 1714618907,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0x59E088d827CB7983Cd0CC64312E472D7cc8a4F44",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714618907,
"transactionHash": "0xf00fc951c098a8288fe0ee80973a1391153e3c6b1c9a61b9a7e2a1b5cd31cfdb",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x59E088d827CB7983Cd0CC64312E472D7cc8a4F44#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x4fF3E70f30f0394Ad62428751Fe3858740595908",
"sinceTimestamp": 1714620855,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x4fF3E70f30f0394Ad62428751Fe3858740595908",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x29994207C5AeDc83F27c5dc16E468f328832d42d"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1714620855,
"transactionHash": "0x325e5d768bde71c89bb5e9ef015901fc78ba3302cabfbb21296bc6cf26b96b6e",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x4fF3E70f30f0394Ad62428751Fe3858740595908#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x0809F0Ee8e72b2e2069e0f618cBbCB2399D452c7",
"sinceTimestamp": 1713781465,
"includeInTotal": false,
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"source": "custom-canonical",
"tokens": "*",
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v20",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v20/arbos",
"verificationStatus": "notVerified",
"hash": "0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x1eeE9b9F024188E54930D2927d7a28e66E7649a7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1eeE9b9F024188E54930D2927d7a28e66E7649a7#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x661b39a5EB200dFcbb436d98453BdBf88Da02AA1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x46FaF6838Bbf770986f073348D41881D5e54Fb0F"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 1, EOA 10, EOA 2, EOA 3, EOA 4, EOA 5, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x661b39a5EB200dFcbb436d98453BdBf88Da02AA1#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 6\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x769b70b6b1fA281ab5c99e9C5A284BE4117e4783#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbB31B4eD64fFF7ee149a8c7F7FA3E6BF35E8363B#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F8cF337D5A0A45e61559f6Ab1999FF8aA0eACD5#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xa2809b5f031bf91d2408B3e2464774A28B0F4949",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x85a77E293a81d4C35F304951e41378E5e43d1f53"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2809b5f031bf91d2408B3e2464774A28B0F4949#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xDb5abc57397530DddC1e33BC023F2ef73Db6A86A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDb5abc57397530DddC1e33BC023F2ef73Db6A86A#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xb343522e5663E0cE1060dd50EF04b12820F84890",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb343522e5663E0cE1060dd50EF04b12820F84890#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9#code"
}
]
},
"escrows": [
{
"address": "0x1eeE9b9F024188E54930D2927d7a28e66E7649a7",
"sinceTimestamp": 1741964363,
"tokens": [
"DIA"
],
"contract": {
"isVerified": true,
"address": "eth:0x1eeE9b9F024188E54930D2927d7a28e66E7649a7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF815C4c8A671395dAF5706DCB917CfA60DE7B3f9"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741964363,
"transactionHash": "0x9da6a6146efb3ee9e77570abfe69cfab922a48abea8124f36f045c7b598c6dd7",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows DIA sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x1eeE9b9F024188E54930D2927d7a28e66E7649a7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+43 -19
+18 -4
{
"arbitrum": {
"roles": [],
"actors": [
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayArb\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "arb1:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://arbiscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://arbiscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "arb1:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://arbiscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "arb1:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://arbiscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"base": {
"roles": [],
"actors": [
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGatewayBase\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "base:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://basescan.org/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "base",
"references": [],
"participants": [
{
"address": "base:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://basescan.org/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "base:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://basescan.org/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "base:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://basescan.org/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
}
]
},
"ethereum": {
"roles": [
{
"id": "Validator",
"name": "Validator",
"description": "Permissioned to call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the main Diamond contract.",
"accounts": [
{
"address": "eth:0x3eA4D1684C65756E892b0B8d3e331E10D9d3a484",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0x477c1B7DC1091389CBD3Eef21Efb00081606Ab67",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "EmergencyUpgradeBoard",
"name": "EmergencyUpgradeBoard",
"accounts": [
{
"address": "eth:0xF73a7dCfa68E52030ec39E41a23DCA51F3aAa111",
"type": "Contract",
"isVerified": true,
"name": "0xF73a…a111",
"url": "https://etherscan.io/address/0xF73a7dCfa68E52030ec39E41a23DCA51F3aAa111"
}
],
"chain": "ethereum",
"description": "A custom contract allowing a 3/3 of SecurityCouncil, ZK Foundation Multisig and Guardians to `executeEmergencyUpgrade()` via the ProtocolUpgradeHandler.\n* Can upgrade **with no delay**\n * BridgeHub [via: ProtocolUpgradeHandler → ProxyAdmin]\n * MessageRoot [via: ProtocolUpgradeHandler → ProxyAdmin]\n * CTMDeploymentTracker [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1AssetRouter [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1NativeTokenVault [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainTypeManager [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1Nullifier [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainAssetHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ProtocolUpgradeHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n* Can interact with BridgeHub\n * set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration [via: ProtocolUpgradeHandler]\n* Can interact with L1NativeTokenVault\n * pause / unpause the bridge [via: ProtocolUpgradeHandler]\n* Can interact with ChainTypeManager\n * manage the shared ValidatorTimelock contract address and the admin role, register and execute upgrades (and set their deadlines), freeze, revert batches and set permissioned validators and fee params for all connected chains [via: ProtocolUpgradeHandler]\n* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references [via: ProtocolUpgradeHandler]\n* Can interact with ChainAssetHandler\n * pause, resume chain migrations [via: ProtocolUpgradeHandler]\n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) [via: ProtocolUpgradeHandler]",
"discoveryDrivenData": true
},
{
"id": "Matter Labs Multisig",
"name": "Matter Labs Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: EraChainAdminProxy → ProxyAdmin]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: EraChainAdminProxy]\n* Can interact with ChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: EraChainAdminProxy]",
"accounts": [
{
"address": "eth:0x4e4943346848c4867F81dFb37c4cA9C5715A7828",
"type": "Contract",
"isVerified": true,
"name": "0x4e49…7828",
"url": "https://etherscan.io/address/0x4e4943346848c4867F81dFb37c4cA9C5715A7828"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929",
"type": "EOA",
"isVerified": true,
"name": "0x4A33…C929",
"url": "https://etherscan.io/address/0x4A333c167Ce76C46149c6B0197977ae02aaeC929"
},
{
"address": "eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481",
"type": "EOA",
"isVerified": true,
"name": "0x3F00…c481",
"url": "https://etherscan.io/address/0x3F0009D00cc78979d00Eb635490F23E8d6aCc481"
},
{
"address": "eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1",
"type": "EOA",
"isVerified": true,
"name": "0x5C7E…f1B1",
"url": "https://etherscan.io/address/0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1"
},
{
"address": "eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc",
"type": "EOA",
"isVerified": true,
"name": "0x3068…d2Bc",
"url": "https://etherscan.io/address/0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc"
},
{
"address": "eth:0x702caCafA54B88e9c54449563Fb2e496e85c78b7",
"type": "EOA",
"isVerified": true,
"name": "0x702c…78b7",
"url": "https://etherscan.io/address/0x702caCafA54B88e9c54449563Fb2e496e85c78b7"
},
{
"address": "eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE",
"type": "EOA",
"isVerified": true,
"name": "0xFAdb…79AE",
"url": "https://etherscan.io/address/0xFAdb20191Ab38362C50f52909817B74214CA79AE"
},
{
"address": "eth:0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28",
"type": "EOA",
"isVerified": true,
"name": "0xAf0B…9B28",
"url": "https://etherscan.io/address/0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28"
},
{
"address": "eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7",
"type": "EOA",
"isVerified": true,
"name": "0x7408…70C7",
"url": "https://etherscan.io/address/0x7408A268e5E6e8F08917c5b71015F4B9044970C7"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 1",
"name": "Avail Multisig 1",
"description": "A Multisig with 4/7 threshold. \n* Can upgrade **with no delay**\n * Vector \n* Can upgrade **with 1d delay**\n * AvailBridgeV1 [via: TimelockController with 1d delay → ProxyAdmin]\n* Can interact with Vector\n * can freeze the Vector contract and update the list of authorized relayers \n* Can interact with AvailBridgeV1\n * manage the pauser role and all other access control configurations, set the address of the target contract for DA verification, manage fees **with 1d delay** [via: TimelockController with 1d delay]\n* Can interact with TimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles **with 1d delay or with no delay** [via: TimelockController with 1d delay - or - acting directly]\n * propose transactions ",
"accounts": [
{
"address": "eth:0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666",
"type": "Contract",
"isVerified": true,
"name": "0x7F2f…3666",
"url": "https://etherscan.io/address/0x7F2f87B0Efc66Fea0b7c30C61654E53C37993666"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x70a4F624A4E62C539abf0002634377b646612b1C",
"type": "EOA",
"isVerified": true,
"name": "0x70a4…2b1C",
"url": "https://etherscan.io/address/0x70a4F624A4E62C539abf0002634377b646612b1C"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
},
{
"address": "eth:0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2",
"type": "EOA",
"isVerified": true,
"name": "0xBe1D…78A2",
"url": "https://etherscan.io/address/0xBe1D614F13662Aff0a2Ec1e76f9c82D332Ae78A2"
},
{
"address": "eth:0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d",
"type": "EOA",
"isVerified": true,
"name": "0x4983…cE4d",
"url": "https://etherscan.io/address/0x4983A5ebE79c0570aa368cE84f281A8aAc50cE4d"
}
],
"discoveryDrivenData": true
},
{
"id": "SecurityCouncil",
"name": "SecurityCouncil",
"description": "A Multisig with 6/8 threshold. \nCustom Multisig implementation that has a general threshold of 6 but also specific thresholds for upgrade approvals (4) or soft freezes (3).\n* Can interact with ProtocolUpgradeHandler\n * soft freeze, hard freeze, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x59195219d1176E42f8e607e9AC114926D47f9035",
"type": "Contract",
"isVerified": true,
"name": "0x5919…9035",
"url": "https://etherscan.io/address/0x59195219d1176E42f8e607e9AC114926D47f9035"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-3-zksync-security-council"
}
],
"participants": [
{
"address": "eth:0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a"
},
{
"address": "eth:0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F"
},
{
"address": "eth:0x69462a81ba94D64c404575f1899a464F123497A2",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x69462a81ba94D64c404575f1899a464F123497A2"
},
{
"address": "eth:0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0"
},
{
"address": "eth:0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803"
},
{
"address": "eth:0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44"
},
{
"address": "eth:0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e"
},
{
"address": "eth:0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231"
}
],
"discoveryDrivenData": true
},
{
"id": "Guardians",
"name": "Guardians",
"description": "A Multisig with 5/8 threshold. \nCustom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.\n* Can interact with ProtocolUpgradeHandler\n * extend the legal veto period, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"type": "Contract",
"isVerified": true,
"name": "0x600d…86b8",
"url": "https://etherscan.io/address/0x600dA620Ab29F41ABC6596a15981e14cE58c86b8"
}
],
"chain": "ethereum",
"references": [
{
"title": "Guardians - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-4-zksync-guardians"
}
],
"participants": [
{
"address": "eth:0x015318c16AE443a20DE0A776dB06a59F0D279057",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x015318c16AE443a20DE0A776dB06a59F0D279057"
},
{
"address": "eth:0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D"
},
{
"address": "eth:0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384"
},
{
"address": "eth:0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f"
},
{
"address": "eth:0x55c671BcE13120387Ded710A1d1b80C0e3d8E857",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x55c671BcE13120387Ded710A1d1b80C0e3d8E857"
},
{
"address": "eth:0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69"
},
{
"address": "eth:0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0"
},
{
"address": "eth:0xCe7a3dFcc35602155809920Ff65e093aa726f6cf",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xCe7a3dFcc35602155809920Ff65e093aa726f6cf"
}
],
"discoveryDrivenData": true
},
{
"id": "ValidatorTimelock",
"name": "ValidatorTimelock",
"accounts": [
{
"address": "eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776",
"type": "Contract",
"isVerified": true,
"name": "0x2e51…b776",
"url": "https://etherscan.io/address/0x2e5110cF18678Ec99818bFAa849B8C881744b776"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h.\n* Can interact with Diamond\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "Lens Multisig",
"name": "Lens Multisig",
"description": "A Multisig with 2/8 threshold. \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: LensZkEvmAdmin]",
"description": "A Multisig with 2/10 threshold. \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: LensZkEvmAdmin]",
"accounts": [
{
"address": "eth:0x4968A0E4b025eD7d095753E54058377969b41abC",
"type": "Contract",
"isVerified": true,
"name": "0x4968…1abC",
"url": "https://etherscan.io/address/0x4968A0E4b025eD7d095753E54058377969b41abC"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x7CBba07e31Dc7b12bB69a1209C5B11A8aC50acf5",
"type": "EOA",
"isVerified": true,
"name": "0x7CBb…acf5",
"url": "https://etherscan.io/address/0x7CBba07e31Dc7b12bB69a1209C5B11A8aC50acf5"
},
{
"address": "eth:0x8f356fEC1793c4AEbd817A344C77310081Fa6917",
"type": "EOA",
"isVerified": true,
"name": "0x8f35…6917",
"url": "https://etherscan.io/address/0x8f356fEC1793c4AEbd817A344C77310081Fa6917"
},
{
"address": "eth:0x71910321A1d3b3f743ca52569f5Aa82f09538A2e",
"type": "EOA",
"isVerified": true,
"name": "0x7191…8A2e",
"url": "https://etherscan.io/address/0x71910321A1d3b3f743ca52569f5Aa82f09538A2e"
},
{
"address": "eth:0xfbDF62F0a73DED0BF5A264867cFD022E192B5526",
"type": "EOA",
"isVerified": true,
"name": "0xfbDF…5526",
"url": "https://etherscan.io/address/0xfbDF62F0a73DED0BF5A264867cFD022E192B5526"
},
{
"address": "eth:0x5dc301EcD8Bd7694BB1074B3E58Aa0916EE7887d",
"type": "EOA",
"isVerified": true,
"name": "0x5dc3…887d",
"url": "https://etherscan.io/address/0x5dc301EcD8Bd7694BB1074B3E58Aa0916EE7887d"
},
{
"address": "eth:0x62Ae8d9B6d0D9817bd9D41b9AfEAc301dBa713B8",
"type": "EOA",
"isVerified": true,
"name": "0x62Ae…13B8",
"url": "https://etherscan.io/address/0x62Ae8d9B6d0D9817bd9D41b9AfEAc301dBa713B8"
},
{
"address": "eth:0x2eD1df8F475b1f9c7493fC0eb0BFD4D1FD17f27b",
"type": "EOA",
"isVerified": true,
"name": "0x2eD1…f27b",
"url": "https://etherscan.io/address/0x2eD1df8F475b1f9c7493fC0eb0BFD4D1FD17f27b"
},
{
"address": "eth:0x2a80091816D7872850D500F6Ade835354238Af17",
"type": "EOA",
"isVerified": true,
"name": "0x2a80…Af17",
"url": "https://etherscan.io/address/0x2a80091816D7872850D500F6Ade835354238Af17"
},
{
"address": "eth:0x5063b3D23C3640d51c9E2aef41063B1d482C70ff",
"type": "EOA",
"isVerified": true,
"name": "0x5063…70ff",
"url": "https://etherscan.io/address/0x5063b3D23C3640d51c9E2aef41063B1d482C70ff"
},
{
"address": "eth:0xE0b3Ef5A61324acceE3798B6D9Da5B47b0312b7c",
"address": "eth:0xc5342CD71f67DAc44Bcfbc37df35700b5e4691e6",
"type": "EOA",
"isVerified": true,
"name": "0xE0b3…2b7c",
"url": "https://etherscan.io/address/0xE0b3Ef5A61324acceE3798B6D9Da5B47b0312b7c"
"name": "0xc534…91e6",
"url": "https://etherscan.io/address/0xc5342CD71f67DAc44Bcfbc37df35700b5e4691e6"
}
],
"discoveryDrivenData": true
},
{
"id": "Avail Multisig 2",
"name": "Avail Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with AvailBridgeV1\n * pause the bridge ",
"accounts": [
{
"address": "eth:0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930",
"type": "Contract",
"isVerified": true,
"name": "0x1a5B…8930",
"url": "https://etherscan.io/address/0x1a5BA9447D02Ddaf7bcB5594Fc27dE2Daf588930"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xE458b870F2F59a49915591282f1Bb688901767AD",
"type": "EOA",
"isVerified": true,
"name": "0xE458…67AD",
"url": "https://etherscan.io/address/0xE458b870F2F59a49915591282f1Bb688901767AD"
},
{
"address": "eth:0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A",
"type": "EOA",
"isVerified": true,
"name": "0x340e…8E4A",
"url": "https://etherscan.io/address/0x340e77D5e114A9D4891d3a1EbC7419CC85Ca8E4A"
},
{
"address": "eth:0xAD379D3275a18bd4BB741C3b291a3778D51c3304",
"type": "EOA",
"isVerified": true,
"name": "0xAD37…3304",
"url": "https://etherscan.io/address/0xAD379D3275a18bd4BB741C3b291a3778D51c3304"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5",
"type": "EOA",
"isVerified": true,
"name": "0x1fbA…85f5",
"url": "https://etherscan.io/address/0x1fbABAbDcFE0b40a9B5D2aDB054fB74F8fE985f5"
}
],
"discoveryDrivenData": true
},
{
"id": "ZK Foundation Multisig",
"name": "ZK Foundation Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0xbC1653bd3829dfEc575AfC3816D4899cd103B51c",
"type": "Contract",
"isVerified": true,
"name": "0xbC16…B51c",
"url": "https://etherscan.io/address/0xbC1653bd3829dfEc575AfC3816D4899cd103B51c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52",
"type": "EOA",
"isVerified": true,
"name": "0xA10f…bE52",
"url": "https://etherscan.io/address/0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52"
},
{
"address": "eth:0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222",
"type": "EOA",
"isVerified": true,
"name": "0x56B3…2222",
"url": "https://etherscan.io/address/0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222"
},
{
"address": "eth:0x441e5c8910Ef39996B2D01499509861228cbc2d1",
"type": "EOA",
"isVerified": true,
"name": "0x441e…c2d1",
"url": "https://etherscan.io/address/0x441e5c8910Ef39996B2D01499509861228cbc2d1"
},
{
"address": "eth:0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709",
"type": "EOA",
"isVerified": true,
"name": "0x0B2E…4709",
"url": "https://etherscan.io/address/0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709"
},
{
"address": "eth:0x610e45F112e0c8a9aA7137677C83E7A198A1b991",
"type": "EOA",
"isVerified": true,
"name": "0x610e…b991",
"url": "https://etherscan.io/address/0x610e45F112e0c8a9aA7137677C83E7A198A1b991"
}
],
"discoveryDrivenData": true
},
{
"id": "SP1VerifierGatewayMultisig",
"name": "SP1VerifierGatewayMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can interact with SP1VerifierGateway\n * affect the liveness and safety of the gateway - can transfer ownership, add and freeze verifier routes ",
"accounts": [
{
"address": "eth:0xCafEf00d348Adbd57c37d1B77e0619C6244C6878",
"type": "Contract",
"isVerified": true,
"name": "0xCafE…6878",
"url": "https://etherscan.io/address/0xCafEf00d348Adbd57c37d1B77e0619C6244C6878"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126",
"type": "EOA",
"isVerified": true,
"name": "0xBaB2…1126",
"url": "https://etherscan.io/address/0xBaB2c2aF5b91695e65955DA60d63aD1b2aE81126"
},
{
"address": "eth:0x72Ff26D9517324eEFA89A48B75c5df41132c4f54",
"type": "EOA",
"isVerified": true,
"name": "0x72Ff…4f54",
"url": "https://etherscan.io/address/0x72Ff26D9517324eEFA89A48B75c5df41132c4f54"
},
{
"address": "eth:0x9395e83720bf2D8ac6435f9c520b48E289Cb8885",
"type": "EOA",
"isVerified": true,
"name": "0x9395…8885",
"url": "https://etherscan.io/address/0x9395e83720bf2D8ac6435f9c520b48E289Cb8885"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0x3eA4D1684C65756E892b0B8d3e331E10D9d3a484",
"type": "EOA",
"isVerified": true,
"name": "0x3eA4…a484",
"url": "https://etherscan.io/address/0x3eA4D1684C65756E892b0B8d3e331E10D9d3a484",
"displayName": "EOA 1"
},
{
"address": "eth:0x477c1B7DC1091389CBD3Eef21Efb00081606Ab67",
"type": "EOA",
"isVerified": true,
"name": "0x477c…Ab67",
"url": "https://etherscan.io/address/0x477c1B7DC1091389CBD3Eef21Efb00081606Ab67",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "ProtocolTimelockController(L2->L1)",
"name": "ProtocolTimelockController(L2->L1)",
"accounts": [
{
"address": "eth:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"type": "EOA",
"isVerified": true,
"name": "0x085b…c714",
"url": "https://etherscan.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714",
"displayName": "ProtocolTimelockController(L2->L1)"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolUpgradeHandler\n * start (queue) upgrades ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D",
"type": "EOA",
"isVerified": true,
"name": "0x27BF…787D",
"url": "https://etherscan.io/address/0x27BF7DE579c5779DbFbB8e9d69999E4D1370787D",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with Vector\n * it is a ‘Relayer’ and can call commitHeaderRange() to commit block ranges to the Vector contract. Since adding and removing Relayers emits no events, there can be more relayers than are presented here ",
"discoveryDrivenData": true
}
]
},
"zksync2": {
"roles": [],
"actors": [
{
"id": "ZkProtocolGovernor",
"name": "ZkProtocolGovernor",
"accounts": [
{
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"type": "Contract",
"isVerified": true,
"name": "0x7670…e34f",
"url": "https://explorer.zksync.io/address/0x76705327e682F2d96943280D99464Ab61219e34f"
}
],
"chain": "zksync2",
"description": "Main Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for protocol upgrade proposals (ZIPs) that start on ZKsync Era, go through Ethereum Layer 1 and can - from there - target all L1 and L2 contracts. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ProtocolTimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles and change the minimum delay [via: ProtocolTimelockController]\n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkTokenGovernor",
"name": "ZkTokenGovernor",
"accounts": [
{
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"type": "Contract",
"isVerified": true,
"name": "0xb83F…5746",
"url": "https://explorer.zksync.io/address/0xb83FF6501214ddF40C91C9565d095400f3F45746"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Token Program Proposals (TPPs) usually targeting the ZK token on ZKsync Era. At least 21M ZK tokens are necessary to start a proposal (for delegates) and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ZkToken\n * grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token **with 3d delay** [via: ZkTokenTimelockController with 3d delay]\n* Can interact with ZkTokenTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: ZkTokenTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkGovOpsGovernor",
"name": "ZkGovOpsGovernor",
"accounts": [
{
"address": "zksync:0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160",
"type": "Contract",
"isVerified": true,
"name": "0xEEEa…b160",
"url": "https://explorer.zksync.io/address/0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Governance Advisory Proposals (GAPs) that are not executable onchain. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with GovOpsTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: GovOpsTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "Guardians_l2Alias",
"name": "Guardians_l2Alias",
"accounts": [
{
"address": "zksync:0x711ea620AB29f41AbC6596a15981e14ce58C97c9",
"type": "EOA",
"isVerified": true,
"name": "0x711e…97c9",
"url": "https://explorer.zksync.io/address/0x711ea620AB29f41AbC6596a15981e14ce58C97c9",
"displayName": "Guardians_l2Alias"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) \n* Can interact with ZkGovOpsGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) ",
"discoveryDrivenData": true
},
{
"id": "ZKFoundationMultisig_l2Alias",
"name": "ZKFoundationMultisig_l2Alias",
"accounts": [
{
"address": "zksync:0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D",
"type": "EOA",
"isVerified": true,
"name": "0xcd27…C62D",
"url": "https://explorer.zksync.io/address/0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D",
"displayName": "ZKFoundationMultisig_l2Alias"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * make direct proposals without owning ZK tokens. In propose-guarded mode, this address is the ONLY allowed proposer. Propose-guarded mode is currently set to false ",
"discoveryDrivenData": true
},
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"accounts": [
{
"address": "zksync:0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4",
"type": "EOA",
"isVerified": true,
"name": "0xF41E…6bc4",
"url": "https://explorer.zksync.io/address/0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4",
"displayName": "ProtocolUpgradeHandler_l2Alias"
}
],
"chain": "zksync2",
"description": "* Can upgrade **with no delay**\n * ZkToken [via: ZkTokenProxyAdmin]\n* Can interact with ZkToken\n * control all roles in the ZkToken access control, including the minter roles ",
"discoveryDrivenData": true
}
]
}
}
+24 -14
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0xc29d04A93F893700015138E3E334eB828dAC3cef",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740009695,
"transactionHash": "0x303a3be5647b6474268d2c9bac62d2a4852abe503ad8eb2c71fc85c63881cfbd",
"implementations": [
"eth:0x0665d51e2342F5D5EAEaAaA175C6fdEEf122c542",
"eth:0xff6fb8160DC28260d4027C80eAd7e1eD147c963F",
"eth:0xbE8988304816cbbd36624567AFe1A223DBF58c82",
"eth:0x8480803516B7390Ff9C57eC4dD233B634FB493B8"
]
},
{
"timestamp": 1740009695,
"transactionHash": "0x303a3be5647b6474268d2c9bac62d2a4852abe503ad8eb2c71fc85c63881cfbd",
"implementations": [
"eth:0x0665d51e2342F5D5EAEaAaA175C6fdEEf122c542",
"eth:0xff6fb8160DC28260d4027C80eAd7e1eD147c963F",
"eth:0xbE8988304816cbbd36624567AFe1A223DBF58c82",
"eth:0x8480803516B7390Ff9C57eC4dD233B634FB493B8"
]
},
{
"timestamp": 1742293595,
"transactionHash": "0xc0985a7dad204c5f7efd6ac87d9877049570eee2fd4f9100f3258b6174cae43e",
"implementations": [
"eth:0x0665d51e2342F5D5EAEaAaA175C6fdEEf122c542",
"eth:0xff6fb8160DC28260d4027C80eAd7e1eD147c963F",
"eth:0xbE8988304816cbbd36624567AFe1A223DBF58c82",
"eth:0x8480803516B7390Ff9C57eC4dD233B634FB493B8"
]
},
{
"timestamp": 1742928599,
"transactionHash": "0x4b3cb9b8f9a1aea99e804b16f63ec89011315bde09b37ea60f77b2d1d1e2b572",
"implementations": [
"eth:0xEaedCF01c0B01C1a10b74cB0A2cDeF78a9540cdb",
"eth:0x95C45F931946C97D10D9d6e859Fe8D62785ed3C1",
"eth:0x36b026c39125964D99596CE302866B5A59E4dE27",
"eth:0x53d0b421BB3e522632ABEB06BB2c4eB15eaD9800"
]
},
{
"timestamp": 1747255211,
"transactionHash": "0x37a2cb789916112d5c2824569ee4f44d4078b9ab00b55017eebf83124309b54c",
"implementations": [
"eth:0xF2C9D38D16c7A7Dc9aA4F743Fce024354d9c19B4",
"eth:0x05DeB01AaDB6C98F8B78a1F9A81ccd68Ac4d70d4",
"eth:0x26b9a55DaBab9A8e74815A9D6Cd7F74AC0d7215f",
"eth:0x0A7C1b8D56BE02d9731e3A764107602f8F6dd490"
]
},
{
"timestamp": 1751481779,
"transactionHash": "0x8d2c504c58a659511bef547888186da42708e16923743741cd11acf4c6d908b3",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1755181427,
"transactionHash": "0xe1e89cb3eb4b704457d700ce847e9f682c50ef505c08b5ca0873a833e9d4ff2a",
"implementations": [
"eth:0x431449e2a28A69122860A4956A3f7191eE15aFBC",
"eth:0xae5cbB5f70e134668a13d7C8EcEF5e9E6FffCF22",
"eth:0x365D0ae3ECA13004daf2A4ba1501c01AaEbb4fec",
"eth:0x2f116b9033d88Bb3Cf64C371AE5458fbA22BA39A"
]
},
{
"timestamp": 1763413091,
"transactionHash": "0xd0833923639a4693c45fe165c6d30094dbfbc7c0b9e77b89981696519eb579a9",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1769715095,
"transactionHash": "0x54184d1aa0137620015290fe57ef7376cc15718acb77989eec3b7f4d0e0d14e5",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
},
{
"timestamp": 1780515515,
"transactionHash": "0x8f7d04ce7012bfb248543385dc44825a6d21c4752f98bff93eba04da47368d4e",
"implementations": [
"eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253",
"eth:0x1666124221622eb6154306Ea9BA87043e8be88B2",
"eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45",
"eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: LensZkEvmAdmin; ultimately Lens Multisig\n * **validators**: ValidatorTimelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc29d04A93F893700015138E3E334eB828dAC3cef#code"
},
{
"name": "AvailL1DAValidator",
"isVerified": true,
"address": "eth:0x8f50d93B9955B285f787043B30B5F51D09bE0120",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies that the validiums data was made available on Avail by querying the AvailBridgeV1 on Ethereum for a merkle proof of inclusion.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f50d93B9955B285f787043B30B5F51D09bE0120#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x303a465B659cBB0ab36eE643eA362c509EEb5213",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520639,
"transactionHash": "0xdbb03a14ea223de3db4ac0916e78123bd0a1dde68e98952326d8382d29ac4d61",
"implementations": [
"eth:0x12f893689f9603991a8c22C249FFd0509Be95661"
]
},
{
"timestamp": 1725887363,
"transactionHash": "0x21aec24a9df97ce4886d699314be627b0818da4d1987349421fb3df102c43f2b",
"implementations": [
"eth:0x509dA1BE24432F8804C4A9FF4a3c3f80284CDd13"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0x0029e562c0b54C0b88cB22adF4346DbfEC87400c"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xb720523EC3c615b069453bF4B0584CEbF034706f"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xcdd748d4A80CE6831080f1dA2CA9084CDa87Cc87"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x08A98B1048Fb61E9Fff7d7d98305aC6286Ae9F32"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0xc89423b4909080fB8F8A43dF5E1C27001e55C24B"
]
}
],
"description": "The main registry (hub) for all the contracts in the ZK stack cluster and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x303a465B659cBB0ab36eE643eA362c509EEb5213#code"
},
{
"name": "MessageRoot",
"isVerified": true,
"address": "eth:0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109035,
"transactionHash": "0xc47e24e8cc6c7a493bbb1a46b74f1ff113fad2e35d7596aa688df5bf0402fc65",
"implementations": [
"eth:0x19347Fb8eD3E8e35eb4a01c8B18Bd330194Cf0ad"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x382fb241396eA915108e7B7Ce1adE1322bA73aeE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x669ed5BB1377C917333e7d4223ce3419EE4099fD"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Ce9257755391D1509cD4eC1899d3F88A57BB4aD#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0x6078F6B379f103de1Aa912dc46bb8Df0c8809860",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109203,
"transactionHash": "0x8b5a21b3473a638022e84097a99c4668bb0a454686b737e87957729c4822741b",
"implementations": [
"eth:0x1E405E5cdF127Dc98Eb490AB0e97345f892Ff7E1"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x00e9d8A4b35C32880A10Feb391aDEDA0D3F90991"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6078F6B379f103de1Aa912dc46bb8Df0c8809860#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x72213dfe8CA61B0A782970dCFebFb877778f9119",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72213dfe8CA61B0A782970dCFebFb877778f9119#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717520663,
"transactionHash": "0x514bbf46d227eee8567825bf5c8ee1855aa8a1916f7fee7b191e2e3d5ecba849",
"implementations": [
"eth:0x8279B7E48fA074f966385d87AEf29Bd031e54fD5"
]
},
{
"timestamp": 1722934619,
"transactionHash": "0xc1e73b06359759201b76ab7654e0bd49011f33c0230dfc24423985fbf36ea817",
"implementations": [
"eth:0xed1Dc7F0Be2B19cb02a2476150C8ea24A37c5274"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xb39B175a5E0945F2FB6A7F31764c0e31D9cF5b75"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xA3bCcAEe38cb0273A979118a0DE483E47D50F6Cb"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x6D598c77AF57Bfa17201483400615c61819dD45A"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0x345314c7E4af84B763d98d23f772622E23AfB5CE"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x4aB7204e4205c96C32E23ADa9191720976dC084f"
]
}
],
"description": "Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,4.\n* Roles:\n * **admin**: EraChainAdminProxy, ProxyAdmin; ultimately EmergencyUpgradeBoard, Matter Labs Multisig\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc2eE6b6af7d616f6e27ce7F4A451Aedc2b0F5f5C#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717521479,
"transactionHash": "0xce3d72f23297a281cb58502dcc6a6c029489316a2faf9c4ef83141b1b254017c",
"implementations": [
"eth:0xCba1aF8f0bB223b2544F8eB8f69d1c7960f788dB"
]
},
{
"timestamp": 1724658671,
"transactionHash": "0xaec33529b74f8f9d56d7aa568c6358be299228a85e49ea85cb106eca5af7367c",
"implementations": [
"eth:0xb56A8225A745756DD215faf22E4796f373561AcD"
]
},
{
"timestamp": 1736352035,
"transactionHash": "0xc90d135e4b8ab58304853f3be34b2fefd18c2a817d3d250e7b669e024d5277c5",
"implementations": [
"eth:0xF5A14DCdde1143443f06033200D345c2a2828A99"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0xda2866AF0e170d0867a3F3bB52Db10D6E09Df78A"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0x3B4FD84B27fE7B9247d5B8C6d1A29B2889C81518"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xC6f08EFb7BA78f40d00F41aFAC00211d59eb9431"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x71759C4eA628293F5a99aAB1585dF1c8dA4718e0"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD7f9f54194C633F36CCD5F3da84ad4a1c38cB2cB#code"
},
{
"name": "ProtocolUpgradeHandler",
"isVerified": true,
"address": "eth:0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e"
],
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1738855967,
"transactionHash": "0xa3d1fa107e6dc4ce67d92a5af74aa7dc34602c2a1d46727790819c1f974bed95",
"implementations": [
"eth:0xD5e9D3d483a93d03D8d604CC79dC9f2F4B78C604"
]
},
{
"timestamp": 1743408047,
"transactionHash": "0x96a2f14c85022136ab3d4e568e9f1fe8f4611a4a2597f979332840259378f6b3",
"implementations": [
"eth:0x0A67f0Fd2f7523057039F14969Fe23a5f620f19A"
]
},
{
"timestamp": 1760519471,
"transactionHash": "0x2309df20dd1cb3f3a3289e97517d10d399989292f966578240ec387246a13e61",
"implementations": [
"eth:0x36625Bd3dDB469377C6e9893712158cA3c0cC14B"
]
}
],
"description": "The central upgrade contract and Governance proxy for all ZK stack contracts. Accepts successful DAO proposals from L2 and emergency proposals from the EmergencyUpgradeBoard. The three members of the EmergencyUpgradeBoard also have special roles and permissions in this contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **emergencyUpgradeBoard**: EmergencyUpgradeBoard\n * **guardians**: Guardians\n * **l2_protocol_governor**: ProtocolTimelockController(L2->L1)\n * **securityCouncil**: SecurityCouncil",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE30Dca3047B37dc7d88849dE4A4Dc07937ad5Ab3#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE689e79a06D3D09f99C21E534cCF6a8b7C9b3C45#code"
},
{
"name": "AvailBridgeV1",
"isVerified": true,
"address": "eth:0x054fd961708D8E2B9c10a63F6157c74458889F0a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B"
],
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720568903,
"transactionHash": "0x980ea7f295336624f103c47b5ec482f90c2c90f4b7d05140ceb5d40aa077963c",
"implementations": [
"eth:0x737539737b44493F65c17eAfE165197b6410d254"
]
}
],
"description": "Bridge contract that verifies merkle proofs of inclusion in the proven data of the Vector DA- and arbitrary message bridge. Also used for token- and arbitrary message transfers between Avail and Ethereum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Avail Multisig 1\n * **defaultAdmin**: TimelockController; ultimately Avail Multisig 1\n * **pauser**: Avail Multisig 2",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "1d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x054fd961708D8E2B9c10a63F6157c74458889F0a#code"
},
{
"name": "LensZkEvmAdmin",
"isVerified": true,
"address": "eth:0x6bd8d33551077Ed281Cb047835a2aE4033eEc433",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Lens Multisig act through it.\n* Roles:\n * **owner**: Lens Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6bd8d33551077Ed281Cb047835a2aE4033eEc433#code"
},
{
"name": "EraChainAdminProxy",
"isVerified": true,
"address": "eth:0x2cf3bD6a9056b39999F3883955E183F655345063",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets Matter Labs Multisig act through it.\n* Roles:\n * **owner**: Matter Labs Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2cf3bD6a9056b39999F3883955E183F655345063#code"
},
{
"name": "L1USDCBridge",
"isVerified": true,
"address": "eth:0xf553E6D903AA43420ED7e3bc2313bE9286A8F987",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x2ccD5486Ea1b2A52dcD387c01314F6A328f66cbB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1734114251,
"transactionHash": "0x5428361f75c29b1f0e9959bd21fef8fb179b22f009f314e6403a305770e8735f",
"implementations": [
"eth:0x86dF12f51E3531689e0615bb2F739ddf01337715"
]
},
{
"timestamp": 1737484199,
"transactionHash": "0x152dc623c52d7f2b058ec5b4dfb67f5e0fee14c04dc9c0db4ae02ed2dc4ab998",
"implementations": [
"eth:0x2ccD5486Ea1b2A52dcD387c01314F6A328f66cbB"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf553E6D903AA43420ED7e3bc2313bE9286A8F987#code"
},
{
"name": "DualVerifier",
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x4f06ef57618b16959879fC86E65eda0bd629A12B",
"address": "eth:0x7f33D100f482093182111d69a4a457289e99f4ec",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4f06ef57618b16959879fC86E65eda0bd629A12B#code"
"url": "https://etherscan.io/address/0x7f33D100f482093182111d69a4a457289e99f4ec#code"
},
{
"name": "L1VerifierPlonk",
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026",
"address": "eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB3f4396C2040e502d0556Cbb16C0B22fE777A026#code"
"url": "https://etherscan.io/address/0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442#code"
},
{
"name": "L1VerifierFflonk",
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d",
"address": "eth:0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"description": "A router contract for verifiers. Routes verification requests to L1VerifierFflonk or L1VerifierPlonk depending on the supplied proof type.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d#code"
"url": "https://etherscan.io/address/0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1e4c534e7ce1FF5621Ea506D99b367D7d8EFbE3e#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EraChainAdminProxy",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1#code"
},
{
"name": "ChainAssetHandler",
"isVerified": true,
"address": "eth:0xDd5CB8B9037357B4cD37391A073798f8aaB61076",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758286391,
"transactionHash": "0x960c2e5bb98f4b9a07087b3b50fdc4681bbea1467aab3748dbb0050311f54ede",
"implementations": [
"eth:0xaa180C70126f751C164465638770B865965A744B"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EmergencyUpgradeBoard\n * **owner**: ProtocolUpgradeHandler; ultimately EmergencyUpgradeBoard",
"upgradableBy": [
{
"name": "EmergencyUpgradeBoard",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDd5CB8B9037357B4cD37391A073798f8aaB61076#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xfca808A744735D9919EEBe4660B8Fd897456Ce31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x257FC0c3EB02F7ba8C0fd3eD57692A9c1ee6D29B"
],
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747199375,
"transactionHash": "0xbeb7447fc88b154a4730b01cb1a75b7093095056e88818c3659253111d06e66f",
"implementations": [
"eth:0x555D040F4A089D1dF14B372a87C5aF8FA37BDB7A"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Matter Labs Multisig",
"upgradableBy": [
{
"name": "Matter Labs Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfca808A744735D9919EEBe4660B8Fd897456Ce31#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "Vector",
"isVerified": true,
"address": "eth:0x02993cdC11213985b9B13224f3aF289F03bf298d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720128227,
"transactionHash": "0x6c2c609d7a13fbdad53b1530d34d740ffa36653f29b5f14220429d7c0d6a3ffc",
"implementations": [
"eth:0x2434564f3524b44258B11643729343Ef57D60989"
]
},
{
"timestamp": 1721438975,
"transactionHash": "0x13d7977b9fca12882ea6ba47ce1b20a87de540c358b5e260584e0d921e786f5e",
"implementations": [
"eth:0xc6217f1549Cab6f22ac4AC56d42e6C248731a33D"
]
}
],
"description": "The Vector bridge contract that accepts and stores Avail data availability commitments on Ethereum.\n* Roles:\n * **guardians**: Avail Multisig 1\n * **relayers**: EOA 3\n * **timelocks**: Avail Multisig 1",
"upgradableBy": [
{
"name": "Avail Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02993cdC11213985b9B13224f3aF289F03bf298d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x36194271a00dBBBae314E83dA56d0FF75fDa367B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: TimelockController",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36194271a00dBBBae314E83dA56d0FF75fDa367B#code"
},
{
"name": "TimelockController",
"isVerified": true,
"address": "eth:0x45828180bbE489350D621d002968A0585406d487",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. The current minimum delay is 1d.\n* Roles:\n * **canceller**: Avail Multisig 1\n * **defaultAdmin**: Avail Multisig 1, TimelockController; ultimately Avail Multisig 1\n * **executor**: Avail Multisig 1\n * **proposer**: Avail Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x45828180bbE489350D621d002968A0585406d487#code"
}
],
"zksync2": [
{
"name": "ProtocolTimelockController",
"isVerified": true,
"address": "zksync:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 0s.\n* Roles:\n * **canceller**: ZkProtocolGovernor\n * **executor**: ZkProtocolGovernor\n * **proposer**: ZkProtocolGovernor\n * **timelockAdmin**: ProtocolTimelockController; ultimately ZkProtocolGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714#code"
},
{
"name": "ZkToken",
"isVerified": true,
"address": "zksync:0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC"
],
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
},
"chain": "zksync2",
"pastUpgrades": [
{
"timestamp": 1716317326,
"transactionHash": "0x5bfce59c2ad18019ef20d58a3f1ec496cdc85537fc9564c932f7dcbbb2a15b56",
"implementations": [
"zksync:0x3931e73ebA79a7C898D3b0e02c7C62bA4F11cB14"
]
},
{
"timestamp": 1718011538,
"transactionHash": "0xa6bc022ba0f60ac6f10a6efb84b261e9ca1b327a611bdd7a1f4d37cc9b027a3c",
"implementations": [
"zksync:0x01a6715d3560241E09E865a46122bf347A576c09"
]
},
{
"timestamp": 1765195612,
"transactionHash": "0x749b9e6eed328052d679eb86639be807b4acf811ac8786f730b45258ba41ce6f",
"implementations": [
"zksync:0x4fcd824D304e9b1584CdBb582c104BDcbFb11274"
]
}
],
"description": "The ZK token contract on ZKsync Era. Mintable through access control roles. Used for voting in the ZK stack governance system.\n* Roles:\n * **admin**: ZkTokenProxyAdmin; ultimately ProtocolUpgradeHandler_l2Alias\n * **defaultAdmin**: ProtocolUpgradeHandler_l2Alias\n * **minterAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"upgradableBy": [
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E#code"
},
{
"name": "GovOpsTimelockController",
"isVerified": true,
"address": "zksync:0xC9E442574958f96C026DeF9a50C3236cab17428a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkGovOpsGovernor\n * **executor**: ZkGovOpsGovernor\n * **proposer**: ZkGovOpsGovernor\n * **timelockAdmin**: GovOpsTimelockController; ultimately ZkGovOpsGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xC9E442574958f96C026DeF9a50C3236cab17428a#code"
},
{
"name": "ZkTokenProxyAdmin",
"isVerified": true,
"address": "zksync:0xdB1E46B448e68a5E35CB693a99D59f784aD115CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "* Roles:\n * **owner**: ProtocolUpgradeHandler_l2Alias",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xdB1E46B448e68a5E35CB693a99D59f784aD115CC#code"
},
{
"name": "ZkTokenTimelockController",
"isVerified": true,
"address": "zksync:0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "zksync2",
"description": "Timelock contract allowing the queueing of transactions with a minimum delay of 3d.\n* Roles:\n * **canceller**: ZkTokenGovernor\n * **executor**: ZkTokenGovernor\n * **proposer**: ZkTokenGovernor\n * **timelockAdmin**: ZkTokenTimelockController; ultimately ZkTokenGovernor",
"discoveryDrivenData": true,
"url": "https://explorer.zksync.io/address/0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d#code"
}
],
"arbitrum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
}
]
},
"escrows": [
{
"address": "0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"sinceTimestamp": 1739109131,
"tokens": [
"LGHO",
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC2a36181fB524a6bEfE639aFEd37A67e77d62cf1"
],
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739109131,
"transactionHash": "0x50619c1506e8e93cc28017847b5690b6a0784bc2b08c1dbb8555b71525b72351",
"implementations": [
"eth:0x40B1060a114380f40faC6869c5B383f47e61530c"
]
},
{
"timestamp": 1745843591,
"transactionHash": "0x1fbaad1ac4bffb295da999881a37c1a52751ccad9b1533c0d2400fdca3631132",
"implementations": [
"eth:0xDf3a3E51aEABB5da548F854B608E3C9De1ae2947"
]
},
{
"timestamp": 1750343219,
"transactionHash": "0x56b626590d1042673f7cf09f480533e8084d3e6141dc079fba657b1cc2ec17eb",
"implementations": [
"eth:0xBa05B8B761386289Ba413a74AF1933d6a76E1b52"
]
},
{
"timestamp": 1760519351,
"transactionHash": "0xa022a2ce09b145eb5d0c4342b3f3583e79b66ee7205ab986322be819f277ba83",
"implementations": [
"eth:0x8E1C5A8c5d8C33ed0eC756d6f4006f2D875bA083"
]
}
],
"description": "Shared bridge for depositing tokens to Lens and other ZK stack chains.",
"url": "https://etherscan.io/address/0xbeD1EB542f9a5aA6419Ff3deb921A372681111f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "ElasticChain",
"l2BridgeAddress": "0x8116A750e2091B2bA0D94223e7b20a6A65A279f4",
"l2EtherAddress": "0xE5ecd226b3032910CEaa43ba92EE8232f8237553",
"tokensToAssignFromL1": [
"LGHO"
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Boojum L2 Bootloader program v0.29.2",
"description": "EraVM program that proves the correct execution of a batch of ZK Stack L2 blocks.",
"proverSystemProject": "boojum",
"programUrl": "https://github.com/matter-labs/era-contracts/blob/v0.29.2/system-contracts/bootloader/bootloader.yul",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install npm and yarn: `npm install --global yarn`\n2. Install hardhat: `npm install -g hardhat`\n3. Install foundry-zksync: `curl -L https://raw.githubusercontent.com/matter-labs/foundry-zksync/main/install-foundry-zksync | bash` from [here](https://foundry-book.zksync.io/introduction/installation/).\n\nVerify:\n\n1. Checkout the correct branch in [era-contracts](https://github.com/matter-labs/era-contracts) repo: `git checkout v0.29.2`. Commit hash should be `dbfc9b5a40d68007dc405a9b669230104c1646e4`.\n2. Execute recompute_hashes.sh script: `chmod +x recompute_hashes.sh` and `./recompute_hashes.sh`. Note that the script may require a specific version of `foundryup-zksync` and it will suggest the command to install it. However you might need to manually clear git working tree in the repo foundry-zksync (probably in ~/.foundry/matter-labs/foundry-zksync) to change versions.\n ",
"hash": "0x01000911c4db4fe62c98e180cfa7e9b3a22fb15f505905d4bf36192f481551e6"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 4d 3h - 8d 3h delay on code upgrades unless upgrade is initiated by the EmergencyUpgradeBoard in which case there is no delay."
}
],
"zkVerifiers": [
"eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d",
"eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026",
"eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442",
"eth:0x7f33D100f482093182111d69a4a457289e99f4ec",
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"
]
}
+1 -1
{
"baseTimestamp": 1779962479,
"baseTimestamp": 1780586386,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+7 -7
+1 -1
[
{
"address": "0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"sinceTimestamp": 1737090335,
"tokens": [
"USDC",
"ETH",
"LIT",
"LINK",
"AAVE",
"UNI",
"SKY",
"LDO",
"AZTEC"
],
"contract": {
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xc4F38883af6d07D826A20A581cB21fFc2a58009C",
"eth:0x831EF69BaB8AF8B1037a4961B8d0674b124E7008",
"eth:0x22F05515497ce8D78f3898088C474403Ac9C668f"
]
},
"chain": "ethereum",
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+1 -1
{
"dataAvailability": [
{
"name": "Data published onchain",
"description": "Account delta data is published onchain as blobs. A prover migration (gnark/MIMC → plonky2/Poseidon2) at block 23,711,820 left pre-migration blobs undecodable, but Lighter published a full state snapshot at batch #166859 (blobs.zip) that closes the gap. L2BEAT reproduced the snapshot state root from blobs and verified the roll-forward to chain head, confirming the live state is reconstructable from L1.",
"risks": [],
"references": [
{
"title": "Lighter Prover v0.0.1 (first public release, Dec 2025)",
"url": "https://github.com/elliottech/lighter-prover"
},
{
"title": "StateRootUpdate event — gnark to plonky2 migration",
"url": "https://etherscan.io/tx/0x6a50b2b00444914e5c53df2fb48404078a098f93fc3911e6fcbde1c7b6418225"
},
{
"title": "Desert exit circuit + state snapshot (blobs.zip)",
"url": "https://github.com/elliottech/lighter-prover/tree/main/desertexit"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is settled the funds become available for withdrawal on L1. ZK proofs are required to settle blocks. Finally the user submits an L1 transaction to claim the funds.",
"risks": [],
"references": []
},
{
"name": "Escape hatch through ZK proofs",
"description": "If the centralized operators fail to process forced transactions after the deadline, the system can be frozen (desert mode) and users are expected to exit by reconstructing the latest settled state and providing a ZK proof of balance. The desert exit circuit and a full state snapshot at batch #166859 are public, and the deployed DesertVerifier matches a rebuild from that circuit. L2BEAT reproduced the snapshot state root from L1 blobs and verified the roll-forward to chain head.",
"risks": [],
"references": [
{
"title": "Desert exit circuit + state snapshot",
"url": "https://github.com/elliottech/lighter-prover/tree/main/desertexit"
}
]
}
],
"forceTransactions": {
"name": "Users can force their transactions on L1",
"description": "If the centralized operators fail to include user transactions, users can force them themselves through L1. The possible transaction types that users can force are: deposits, withdrawals, order creation, order cancellation, and burning of pool shares. If the operators do not process forced transactions within 14d, the system can be frozen (desert mode) and users can exit using the latest settled state. All open positions are settled using the latest index price.",
"risks": [],
"references": []
},
"operator": {
"name": "Centralized operators",
"description": "Only the centralized operators can submit batches and verify them with a ZK proof, i.e. advance the state of the protocol.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "External oracles used for index prices",
"description": "Lighter uses a combination of oracles to determine index prices, with Stork as the primary source. External signatures are currently not verified and the sequencer must be trusted to truthfully report data.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the oracle prices are manipulated."
}
],
"references": [
{
"title": "Lighter docs - Fair Price Marking",
"url": "https://docs.lighter.xyz/perpetual-futures/fair-price-marking"
}
]
}
],
"stateValidation": {
"description": "Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid transactions to the previous state. This includes user transactions originating from L1 and L2, as well as internal transactions created by L2 operators. In the desert mode, valid proofs of exit must be generated. These proofs are then verified on Ethereum by a smart contract.",
"categories": [
{
"title": "Prover Architecture",
"description": "[This repo](https://github.com/elliottech/lighter-prover/tree/main) contains the circuits and prover code for both normal and desert operation mode of Lighter. It includes the logic to generate and verify proofs of valid state transition according to the Lighter [matching engine](https://github.com/elliottech/lighter-prover/blob/d0ff2304aea516b22f3a5223881006b6a9af1cc9/circuit/src/matching_engine.rs)."
},
{
"title": "ZK Circuits",
"description": "Lighter transition is proven with custom Plonky2 circuits, compiled into ZK Lighter Verifier and Desert Verifier. ZK Lighter verifier implements the perp DEX and spot trading logic and could be found in this [prover repo](https://github.com/elliottech/lighter-prover/tree/main/circuit/src). Desert verifier consists of circuits proving valid L2 -> L1 withdrawals in the desert mode. More details in [ZK Catalog](https://l2beat.com/zk-catalog/lighterprover#proof-system)."
},
{
"title": "Verification Keys Generation",
"description": "Lighter wraps its validity proof into a Plonk-based proof system which requires a trusted setup. The verification keys are hardcoded in the verifier contract on-chain. Lighter prover repo contains a [script](https://github.com/elliottech/lighter-prover/blob/main/build_circuits.sh) that regenerates circuits and verification keys.",
"references": [
{
"title": "ZK Lighter verifier verification keys",
"url": "https://etherscan.io/address/0xaa76aC5cC406037be638d483d8c1daF2AFDC1A68#code#F1#L54"
"url": "https://etherscan.io/address/0xAa0b5b65890162C5C96D82F088822247EC5Df5D6#code#F1#L54"
},
{
"title": "Desert verifier verification keys",
"url": "https://etherscan.io/address/0x2aDBd91742B64105a097bC37D20Ebbca9a496085#code#F1#L55"
}
]
}
]
},
"upgradesAndGovernance": {
"content": "Regular upgrades are initiated by the \"network governor\" and executed with a 21d delay. The \"security council\" is allowed to reduce the upgrade delay to zero in case of an emergency. The security council does not currently satisfy the Stage 1 requirements. The network governor also retains the ability to add or remove validators."
}
}
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "DesertVerifier",
"isVerified": true,
"address": "eth:0x2aDBd91742B64105a097bC37D20Ebbca9a496085",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2aDBd91742B64105a097bC37D20Ebbca9a496085#code"
},
{
"name": "Lighter",
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xc4F38883af6d07D826A20A581cB21fFc2a58009C",
"eth:0x831EF69BaB8AF8B1037a4961B8d0674b124E7008",
"eth:0x22F05515497ce8D78f3898088C474403Ac9C668f"
]
},
"chain": "ethereum",
"description": "The main rollup contract. It processes L2 batches, manages token deposits and withdrawals, allows users to submit censorship-resistant L2 transactions and controls desert mode (escape hatch). Logic is split between two contracts because of code-size limits, many operations are delegated to AdditionalZKLighter.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
{
"name": "UpgradeGatekeeper",
"isVerified": true,
"address": "eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Governance contract functioning like an upgrade timelock for downstream contracts. The current delay is 21d and can be entirely skipped by Lighter Multisig.\n* Roles:\n * **getMaster**: Lighter Multisig 2\n * **securityCouncilAddress**: Lighter Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "eth:0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0x46D3C0c01D5DAae4FE8e3f54f32901d9Fbde1f08"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Manages the list of validators and the network governor.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2\n * **networkGovernor**: Lighter Multisig 2\n * **validators**: EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa464DA0B43f80EE3FfC4795cbbFC78472b5c81A1#code"
},
{
"name": "ZkLighterVerifier",
"isVerified": true,
"address": "eth:0xac3Ce44B6ff4E402858C99D5699ff63131572BaA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xaa76aC5cC406037be638d483d8c1daF2AFDC1A68"
"eth:0xAa0b5b65890162C5C96D82F088822247EC5Df5D6"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main ZK verifier of Lighter, settles the proofs of correct L2 state transition in the case of normal rollup operation.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Multisig 2",
"upgradableBy": [
{
"name": "Lighter Multisig 2",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xac3Ce44B6ff4E402858C99D5699ff63131572BaA#code"
}
]
},
"escrows": [
{
"address": "0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"sinceTimestamp": 1737090335,
"tokens": [
"USDC",
"ETH",
"LIT",
"LINK",
"AAVE",
"UNI",
"SKY",
"LDO",
"AZTEC"
],
"contract": {
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0xc4F38883af6d07D826A20A581cB21fFc2a58009C",
"eth:0x831EF69BaB8AF8B1037a4961B8d0674b124E7008",
"eth:0x22F05515497ce8D78f3898088C474403Ac9C668f"
]
},
"chain": "ethereum",
"url": "https://etherscan.io/address/0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0xaa76aC5cC406037be638d483d8c1daF2AFDC1A68",
"eth:0xAa0b5b65890162C5C96D82F088822247EC5Df5D6",
"eth:0x2aDBd91742B64105a097bC37D20Ebbca9a496085"
]
}
+1 -1
{
"baseTimestamp": 1779101278,
"baseTimestamp": 1780580402,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+3 -4
+3 -4
{
"creator": "Lighter",
"projectsForTvs": [
{
"projectId": "lighter",
"sinceTimestamp": 1759356000
}
],
"proofSystemInfo": "\n## Description\n\nLighter prover is a zk proving system for Lighter L2 based on [Plonky2](https://github.com/0xPolygonZero/plonky2/tree/main) circuits. It verifies the logic for regular state transition of Lighter L2, as well as state transitions in the “desert mode” when L2 is shut down and users exit, using different sets of circuits. The circuits are proven with a STARK which is wrapped into a Plonk SNARK before settling onchain.\n\n## Proof system\n\n[Plonky2](https://github.com/0xPolygonZero/plonky2) implements a circuit aritmetization based on TurboPlonk over Goldilocks field, but it replaces KZG polynomial commitment scheme with a FRI-based polynomial testing scheme. In this way proving Plonky2 circuits requires no trusted setup, i.e. it is a STARK. \n\nHowever Lighter wraps these STARK in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve, which requires a trusted setup.\n\n### Lighter Circuits\n\nThe proof system operates on Lighter STF circuits and desert mode circuits. All published circuits are available [here](https://github.com/elliottech/lighter-prover/tree/main). \n\nLighter proof system defines circuits for proving all transactions, including internal, L1 and L2 transactions. The full list of available transactions that define Lighter STF can be seen [here](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/transactions). \n\nTransaction circuits use custom implementations for arithmetic operations ([bigint](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/bigint), [uint](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/uint)), cryptographic primitives ([ecdsa](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/ecdsa) on the Secp256k1 curve, [eddsa](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/eddsa) on the ECgFp5 curve, [keccak](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/keccak), [poseidon_bn128](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/poseidon_bn128)) and other helper circuits.\n\n### Desert circuits\n\nLighter also provides [desert exit circuits](https://github.com/elliottech/lighter-prover/tree/main/desertexit) that allow users to permissionlessly exit L2 when it is in the desert mode. Users can use desert circuit to generate a proof of ownership of all their positions locally, which could be submitted on L1 for withdrawing funds.\n\n### Recursion\n\nLighter prover implements recursive aggregation of transaction proofs to make the whole pipeline more efficient and parallelizable. First, fixed-size blocks of consecutive transactions are processed and proven by [BlockTx circuit](https://github.com/elliottech/lighter-prover/blob/main/circuit/src/block_tx_constraints.rs), which can be done on separate machines. Next, arbitrary number of BlockTx proofs are aggregated into a single proof by [BlockTxChain circuit](https://github.com/elliottech/lighter-prover/blob/main/circuit/src/block_tx_chain_constraints.rs), which includes continuity checks across all BlockTx proofs.\n",
"techStack": {
"snark": [
{
"id": "Plonky2",
"type": "Plonk",
"name": "Plonky2",
"description": "Toolkit for developing transparent SNARKs based on PLONK and FRI developed by Polygon Zero team."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0xf18fac3b8e5910deb6ad1d2369572deafed4662a16cf0886469b98ca92247931",
"hash": "0x16992bb868b32c1f4bd94d70267468928932f15df9b6ac22e62719f26b0eb221",
"name": "Lighter verifier",
"sourceLink": "https://github.com/elliottech/lighter-prover/tree/aec951b36ffcdb67818ff7e237209d547b4bb78f/circuit",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0xaa76aC5cC406037be638d483d8c1daF2AFDC1A68"
"address": "eth:0xAa0b5b65890162C5C96D82F088822247EC5Df5D6"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe verification process below is based on the `build_circuits.sh` [script](https://github.com/elliottech/lighter-prover/blob/main/build_circuits.sh) in the lighter-prover repo. It consumed around 100 GiB of memory at the peak, so we recommend rerunning it on a machine with 128 GiB of RAM.\n\nThe steps below are for Ubuntu 22.04 OS.\n\n1. Install rust, gcc, go version 1.21 and later.\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\nsudo apt update\nsudo apt install build-essential\n\n# one way to install latest go on Ubuntu 22.04\nwget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz\nsudo tar -xvf go1.21.0.linux-amd64.tar.gz\nsudo mv go /usr/local\nexport GOROOT=/usr/local/go\nexport GOPATH=$HOME/go\nexport PATH=$GOPATH/bin:$GOROOT/bin:$PATH\nsource ~/.profile\n```\n\n2. Run the correct version of the script to regenerate the keys.\n\n```\ngit clone https://github.com/elliottech/lighter-prover.git\ncd lighter-prover\ngit checkout aec951b36ffcdb67818ff7e237209d547b4bb78f\nchmod +x build_circuits.sh\n./build_circuits.sh\n```\n\nThe script will generate the `final::....sol` file that contains the verifier smart contract with the verification keys.\n",
"verificationSteps": "\nThe verification process below is based on the `build_circuits.sh` [script](https://github.com/elliottech/lighter-prover/blob/main/build_circuits.sh) in the lighter-prover repo. It consumed around 100 GiB of memory at the peak, so we recommend rerunning it on a machine with 128 GiB of RAM.\n\nThe steps below are for Ubuntu 22.04 OS.\n\n1. Install rust, gcc, go version 1.21 and later.\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\nsudo apt update\nsudo apt install build-essential\n\n# one way to install latest go on Ubuntu 22.04\nwget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz\nsudo tar -xvf go1.21.0.linux-amd64.tar.gz\nsudo mv go /usr/local\nexport GOROOT=/usr/local/go\nexport GOPATH=$HOME/go\nexport PATH=$GOPATH/bin:$GOROOT/bin:$PATH\nsource ~/.profile\n```\n\n2. Run the correct version of the script to regenerate the keys.\n\n```\ngit clone https://github.com/elliottech/lighter-prover.git\ncd lighter-prover\ngit checkout 90af1be311ffce17e6c58f9983fa5ec1c8d3a097\nchmod +x build_circuits.sh\n./build_circuits.sh\n```\n\nThe script will generate the `final::....sol` file that contains the verifier smart contract with the verification keys.\n",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0x6048c1a7d7e5439f458f927009811f3d95775d8b52775688db857cf6c70a816f",
"name": "Lighter Desert verifier",
"sourceLink": "https://github.com/elliottech/lighter-prover/tree/aec951b36ffcdb67818ff7e237209d547b4bb78f/desertexit/circuits",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x2aDBd91742B64105a097bC37D20Ebbca9a496085"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe verification process below is based on the `build.sh` [script](https://github.com/elliottech/lighter-prover/blob/main/desertexit/build.sh) in the lighter-prover repo. It consumed around 100 GiB of memory at the peak, so we recommend rerunning it on a machine with 128 GiB of RAM.\n\nThe steps below are for Ubuntu 22.04 OS.\n\n1. Install rust, gcc, go version 1.21 and later.\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\nsudo apt update\nsudo apt install build-essential\nsudo apt install jq\n\n# one way to install latest go on Ubuntu 22.04\nwget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz\nsudo tar -xvf go1.21.0.linux-amd64.tar.gz\nsudo mv go /usr/local\nexport GOROOT=/usr/local/go\nexport GOPATH=$HOME/go\nexport PATH=$GOPATH/bin:$GOROOT/bin:$PATH\nsource ~/.profile\n```\n\n2. Run the correct version of the script to regenerate the keys.\n\n```\ngit clone https://github.com/elliottech/lighter-prover.git\ncd lighter-prover/desertexit\ngit checkout aec951b36ffcdb67818ff7e237209d547b4bb78f\nchmod +x build.sh\n./build.sh\n```\n\nThe script will generate the `desertwrapper::....sol` file in the `lighter-prover/desertexit/artifacts` directory that contains the verifier smart contract with the verification keys.\n ",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+15 -15
+14 -14
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x0f28D76Ec5c62b502625351726b4A3E3F54FF5F0",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x92ff91308F5f1036435f23c2F4F136Bb7475425d"
],
"implementations": [
"arb1:0x4f82B5de97Ad3690ee319878083503178Fd8E0B9",
"arb1:0x8522769aEF1A87bE45530E0C84834BCce38CA9Bd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xc326D023758d7D212d529D1E58D7f271CAe49fcf",
"arb1:0xD92D49e8A2230E2C7a73c3ff4Df1AED09dA32a07"
]
},
{
"timestamp": 1731480884,
"transactionHash": "0x9a8ae683e857b80a843f7f071b0f831ac8162c6ac2c09fd9a8a514809d80c7af",
"implementations": [
"arb1:0x4f82B5de97Ad3690ee319878083503178Fd8E0B9",
"arb1:0x8522769aEF1A87bE45530E0C84834BCce38CA9Bd"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 1, EOA 1\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 1, EOA 1\n * **validators**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0f28D76Ec5c62b502625351726b4A3E3F54FF5F0#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x0fFe9ACC296ddd4De5F616Aa482C99fA4b41A3E2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x481863c96f949F5E13932ec2F65470C0CF83808d"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x1d182075d07744D71E37f77f1654165f6DAFad08"
]
},
{
"timestamp": 1731472488,
"transactionHash": "0xa3cef71c7eacc17dedd4ff7a2c732cd42e982d2ca5c620fe8364225fce9760ab",
"implementations": [
"arb1:0x79177caeDf321963EFed06E562017181B2e8aDC7"
]
},
{
"timestamp": 1746463926,
"transactionHash": "0x6018ec86bbda22965cae10bd0862c749181c4101bbc3eaff562cfd66a67f0377",
"implementations": [
"arb1:0x645341A2C76cD94324cBA658c19Acca2297b619C"
]
},
{
"timestamp": 1746649259,
"transactionHash": "0xcd0e8af41249440524c34f999e8033e63b5b2120088982cba91c32976a0a81d8",
"implementations": [
"arb1:0x7A9A0974F98052dA2F10DC9a50E3e348CDc62607"
]
},
{
"timestamp": 1751386630,
"transactionHash": "0x6e4d22b6b61eeffdbd42e8fe52446bb966dd46592ba723bc43edaf1a7cc4f678",
"implementations": [
"arb1:0x481863c96f949F5E13932ec2F65470C0CF83808d"
]
}
],
"description": "The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here. This version of the SequencerInbox also supports commitments to data that is posted to Celestia.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1\n * **batchPosterManager**: EOA 2\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0fFe9ACC296ddd4De5F616Aa482C99fA4b41A3E2#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x7BB97862CA342B5fbe2AE2cF2E954F6327f587b1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x0686dc9F334F8C0f0a9646f48775aa002757AFFE"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x935239e066F4F449D87D600e6d7c1a4F24c50f97"
]
},
{
"timestamp": 1731472488,
"transactionHash": "0xa3cef71c7eacc17dedd4ff7a2c732cd42e982d2ca5c620fe8364225fce9760ab",
"implementations": [
"arb1:0x3bD530a9a48F17052D5d3c30e7582Fcb42BdFD23"
]
},
{
"timestamp": 1731480884,
"transactionHash": "0x9a8ae683e857b80a843f7f071b0f831ac8162c6ac2c09fd9a8a514809d80c7af",
"implementations": [
"arb1:0x84c179B5651A762a81A490BA03D27997A5922EC1"
]
},
{
"timestamp": 1746649259,
"transactionHash": "0xcd0e8af41249440524c34f999e8033e63b5b2120088982cba91c32976a0a81d8",
"implementations": [
"arb1:0x0686dc9F334F8C0f0a9646f48775aa002757AFFE"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7BB97862CA342B5fbe2AE2cF2E954F6327f587b1#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xE1d32C985825562edAa906fAC39295370Db72195",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xC5Db571093C4600559e239497d147476F7543b15"
]
},
{
"timestamp": 1745531035,
"transactionHash": "0x3b143e23963a08ef4f73468ac748608d292faa7062295e86224befc1c41e8726",
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE1d32C985825562edAa906fAC39295370Db72195#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x92ff91308F5f1036435f23c2F4F136Bb7475425d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1\n * **executors**: Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x92ff91308F5f1036435f23c2F4F136Bb7475425d#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x235000876bd58336C802B3546Fc0250f285fCc79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0xbFfd05964F6d7AE4B55eB8A7086d88EEEcbF5f76"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0x2675b9DEb473ECaC13ddd71dF8A0Ef13FeF6a75D"
]
},
{
"timestamp": 1746463926,
"transactionHash": "0x6018ec86bbda22965cae10bd0862c749181c4101bbc3eaff562cfd66a67f0377",
"implementations": [
"arb1:0xdec03E497222017550Fb83273d8FB4546eaDA625"
]
},
{
"timestamp": 1746649259,
"transactionHash": "0xcd0e8af41249440524c34f999e8033e63b5b2120088982cba91c32976a0a81d8",
"implementations": [
"arb1:0xbFfd05964F6d7AE4B55eB8A7086d88EEEcbF5f76"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x235000876bd58336C802B3546Fc0250f285fCc79#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019098,
"transactionHash": "0x23ef7ccf294b19a7ece9a717b1f66c067825a5c354b3ada4c8e323742e562d64",
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xb255de22d39a26D4CbcAFd6Cf660ccaCa047e95B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0xCa2F31F3C6553c2FD9897f7AA464406a431959A9"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xCa2F31F3C6553c2FD9897f7AA464406a431959A9"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb255de22d39a26D4CbcAFd6Cf660ccaCa047e95B#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0xAeAe9616A02dA527FceA2AC444EC918C7BfB9CdF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x922db00d292477AD99Ef8A0c41101a664Ee79D2b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019098,
"transactionHash": "0x23ef7ccf294b19a7ece9a717b1f66c067825a5c354b3ada4c8e323742e562d64",
"implementations": [
"arb1:0x922db00d292477AD99Ef8A0c41101a664Ee79D2b"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xAeAe9616A02dA527FceA2AC444EC918C7BfB9CdF#code"
},
{
"name": "NitroEnclaveVerifier",
"isVerified": true,
"address": "arb1:0x0d4cD6C0E9a0f2e744C83547f22Caf03414A3B22",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "ZK-backed verifier for AWS Nitro enclave attestations. Verifies ZK proofs (RiscZero, Succinct SP1 or Pico) that attest AWS Nitro cert chain validation was executed correctly off-chain.\n* Roles:\n * **owner**: EOA 4",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0d4cD6C0E9a0f2e744C83547f22Caf03414A3B22#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x23b7734232dA19D2Cf73010a25C8Ffc4eBfc2f5f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x23b7734232dA19D2Cf73010a25C8Ffc4eBfc2f5f#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x59CDE86f1a538a7a2329269d3704CA302DF23736",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x59CDE86f1a538a7a2329269d3704CA302DF23736#code"
},
{
"name": "QuoteVerifier",
"isVerified": true,
"address": "arb1:0x69523d25E25e5c78d828Df90459b75F189D40Cf7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0x0d089B3fA00CBAD0a5098025519e9e4620622acF), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x69523d25E25e5c78d828Df90459b75F189D40Cf7#code"
},
{
"name": "EspressoTEEVerifier",
"isVerified": true,
"address": "arb1:0x7A7E3B3eB8c799360E65d4fE2f0e108dB78721c3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "TEE gateway contract that can be used to 1) register signers that were generated inside a TEE and 2) verify the signatures of such signers. It supports both Intel SGX and AWS Nitro TEEs through modular contracts.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7A7E3B3eB8c799360E65d4fE2f0e108dB78721c3#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x7d46570d3Cd9D8F5e01bad3144141a031a94d7B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (ArbitrumBlobstream) as source of truth for the DA referenced by the fault proof.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7d46570d3Cd9D8F5e01bad3144141a031a94d7B8#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x7E67B50d510929610f840fb09707feA01b8E457B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7E67B50d510929610f840fb09707feA01b8E457B#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x9676D55Ccd46ce72235b16bA645008D1D3350B14",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0xf2bCB26dbb571EBC82CFAe6453AeF0DE90d93421"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xf2bCB26dbb571EBC82CFAe6453AeF0DE90d93421"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9676D55Ccd46ce72235b16bA645008D1D3350B14#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x9e83136d4B3AD04C766591EA51712F9aEa3194C0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9e83136d4B3AD04C766591EA51712F9aEa3194C0#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0xC513d6E8C8f915B1DA2f6eAC4C6d755ff3d5f21D",
"address": "arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC513d6E8C8f915B1DA2f6eAC4C6d755ff3d5f21D#code"
"url": "https://arbiscan.io/address/0xD9d5C8456a168Dd25561064F47bF116111131B1D#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0xe3b13e7b160aE4b799A7B3F9877316e717706291",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe3b13e7b160aE4b799A7B3F9877316e717706291#code"
},
{
"name": "EspressoSGXTEEVerifier",
"isVerified": true,
"address": "arb1:0xEA25045bC30ceE23A280c51020F0bBb78781A297",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an Intel SGX TEE.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xEA25045bC30ceE23A280c51020F0bBb78781A297#code"
},
{
"name": "EspressoNitroTEEVerifier",
"isVerified": true,
"address": "arb1:0xF99De72165cB3A56766e118B3a20874d4A0aCa89",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifies attestations of an AWS Nitro TEE. \nNote: currently only Succinct proofs are used.\n* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF99De72165cB3A56766e118B3a20874d4A0aCa89#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 5, EOA 6",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 7, EOA 8",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"ethereum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 10, EOA 9",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
]
},
"escrows": [
{
"address": "0xE1d32C985825562edAa906fAC39295370Db72195",
"sinceTimestamp": 1712019082,
"tokens": [
"MOLTEN"
],
"contract": {
"isVerified": true,
"address": "arb1:0xE1d32C985825562edAa906fAC39295370Db72195",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019082,
"transactionHash": "0x95b91b77f8acfeba7f9d6fdb02826847e1a437c49ba88d2c32cd42ec716850da",
"implementations": [
"arb1:0xC5Db571093C4600559e239497d147476F7543b15"
]
},
{
"timestamp": 1745531035,
"transactionHash": "0x3b143e23963a08ef4f73468ac748608d292faa7062295e86224befc1c41e8726",
"implementations": [
"arb1:0x7DD439Ec22c91b0703EE7d80175fd8d5319906A1"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows MOLTEN sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xE1d32C985825562edAa906fAC39295370Db72195#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80",
"sinceTimestamp": 1712019098,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8Ab2f49A085490c1592325eE32B6e6a4DA35D238"
],
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712019098,
"transactionHash": "0x23ef7ccf294b19a7ece9a717b1f66c067825a5c354b3ada4c8e323742e562d64",
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x5a6f8ea5e1028C80CB98Fd8916afBBC4E6b23D80#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "Celestia Blobstream DA bridge program",
"description": "ZK-friendly implementation of Celestia Blobstream DA bridge that proves that enough Celestia validators have confirmed a given data root.",
"programUrl": "https://github.com/succinctlabs/sp1-blobstream/tree/78a9d3419339a8c60bf51e1e3241f242bc44d434/program",
"proverSystemProject": "sp1hypercube",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct commit hash in [sp1-blobstream](https://github.com/succinctlabs/sp1-blobstream/tree/main) repo: `git checkout 78a9d3419339a8c60bf51e1e3241f242bc44d434`.\n2. Make sure docker is running by running `docker ps`.\n3. From the `sp1-blobstream/program` dir run: `cargo prove build --docker --tag v6.1.0 --elf-name blobstream-elf --output-directory ../elf` to build the blobstream program elf within a docker container and place it in `sp1-blobstream/elf`.\n4. From `sp1-blobstream` run: `cargo run --bin vkey --release` to print the vkey of the `blobstream-elf` program.\n ",
"hash": "0x00b451fcd696cd0a4025e30bfed96343b1767ac6523a360fee1183f9e2e20745"
},
{
"title": "Nitro TEE Verifer",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/f6f9410227adc63ff5117ce3f6f7e0f155083389/crates/sp1-methods/sp1-verifier",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/8607619cc620a93d029a9569bccf752f341aad99/crates/sp1-methods/sp1-verifier",
"description": "Verifies correctness of a single TEE attestation for correctly running Arbitrum Nitro within a trusted enclave.",
"verificationStatus": "unsuccessful",
"verificationSteps": "According to Automata Network, the linked program was compiled in a non-reporducible way (without docker). The compiled binary could not be reproduced.",
"hash": "0x00e874289e8c7f42381b6220f438801d2d1478dc8230f866a31e5ceec6e93322"
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`\n2. Make sure SP1 v6.1.0 is active: `sp1up -v 6.1.0` (must match the workspace `sp1-sdk = \"^6.1.0\"` dependency)\n3. Install docker [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [automata-network/aws-nitro-enclave-attestation](https://github.com/automata-network/aws-nitro-enclave-attestation/tree/feat/reproducible_build) repo: `git checkout feat/reproducible_build`. Commit hash should be `8607619cc620a93d029a9569bccf752f341aad99`.\n2. Make sure docker is running by running `docker ps`.\n3. From the repo root: `cargo clean -p sp1-methods` to clear any stale build artifacts.\n4. From the repo root run: `REPRODUCIBLE_BUILD=docker cargo run --release -p nitro-attest-cli --no-default-features --features sp1 -- program-id --sp1`. The `REPRODUCIBLE_BUILD=docker` env var triggers the SP1 docker reproducible rebuild of `sp1-verifier` and `sp1-aggregator` ELFs (replacing `USE_DOCKER=1` used on older branches). The CLI then prints `Verifier ID`, `Verifier Proof ID`, and `Aggregator ID`.\n ",
"hash": "0x00643c7149cf335e7ec9d3f3301e69658a7f0ef2bc7546509c257ed8809f28e1"
},
{
"title": "Nitro TEE Aggregated Verifer",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/f6f9410227adc63ff5117ce3f6f7e0f155083389/crates/sp1-methods/sp1-aggregator",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/automata-network/aws-nitro-enclave-attestation/tree/8607619cc620a93d029a9569bccf752f341aad99/crates/sp1-methods/sp1-aggregator",
"description": "Verifies correctness of several aggregated TEE attestations for correctly running Arbitrum Nitro within a trusted enclave.",
"verificationStatus": "unsuccessful",
"verificationSteps": "According to Automata Network, the linked program was compiled in a non-reporducible way (without docker). The compiled binary could not be reproduced.",
"hash": "0x002bb66c60302a81a621d7899e3f6ee1d0db9fb1eae5d1e80e94a33cb1e24922"
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`\n2. Make sure SP1 v6.1.0 is active: `sp1up -v 6.1.0` (must match the workspace `sp1-sdk = \"^6.1.0\"` dependency)\n3. Install docker [https://docs.docker.com/get-docker/](https://docs.docker.com/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [automata-network/aws-nitro-enclave-attestation](https://github.com/automata-network/aws-nitro-enclave-attestation/tree/feat/reproducible_build) repo: `git checkout feat/reproducible_build`. Commit hash should be `8607619cc620a93d029a9569bccf752f341aad99`.\n2. Make sure docker is running by running `docker ps`.\n3. From the repo root: `cargo clean -p sp1-methods` to clear any stale build artifacts.\n4. From the repo root run: `REPRODUCIBLE_BUILD=docker cargo run --release -p nitro-attest-cli --no-default-features --features sp1 -- program-id --sp1`. The `REPRODUCIBLE_BUILD=docker` env var triggers the SP1 docker reproducible rebuild of `sp1-verifier` and `sp1-aggregator` ELFs (replacing `USE_DOCKER=1` used on older branches). The CLI then prints `Verifier ID`, `Verifier Proof ID`, and `Aggregator ID`.\n ",
"hash": "0x00294928e44f0cdc9c74848c4cafcdb29f733a3bc07408c240be3d5afe750b3e"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"arb1:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"arb1:0xC513d6E8C8f915B1DA2f6eAC4C6d755ff3d5f21D"
"arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D"
]
}
+1 -1
{
"baseTimestamp": 1779719447,
"baseTimestamp": 1780654176,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "arb1:0x37D07D97673c79afe3b92548175Af47488E28694",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x37D07D97673c79afe3b92548175Af47488E28694#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xB0EC3C1368AF7d9C2CAE6B7f8E022Cc14d59D2b1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB0EC3C1368AF7d9C2CAE6B7f8E022Cc14d59D2b1#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xE383D432F039f4377CC9AA003FfaE4c814936864",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x10083F68A4aEC72c567661616bd6036D3a6d1B36"
],
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1\n * **getValidators**: EOA 3\n * **owner**: UpgradeExecutor; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE383D432F039f4377CC9AA003FfaE4c814936864#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xfb27e42E964F3364630F76D62EB295ae792BD4FA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1733364922,
"transactionHash": "0x8a0aa7e1ead9754bdbb27cba33355e9af40b996a929c359b5d9eefc4ff193649",
"implementations": [
"arb1:0x18ed2d5bF7c5943bFd20a2995b9879E30c9E8dDa"
]
},
{
"timestamp": 1740979363,
"transactionHash": "0xbae64b5a7223e9cf01a270c58a776e2fed92644fe0bb85855be7a805d40008b2",
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
},
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **batchPosterManager**: EOA 2\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xfb27e42E964F3364630F76D62EB295ae792BD4FA#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x10083F68A4aEC72c567661616bd6036D3a6d1B36",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **executors**: EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x10083F68A4aEC72c567661616bd6036D3a6d1B36#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x18BB8310E3a3DF4EFcCb6B3E9AeCB8bE6d4af07f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0x8f6406781cC955398C45a48DcEfeEBDb2c8e2CaA"
]
},
{
"timestamp": 1740979363,
"transactionHash": "0xbae64b5a7223e9cf01a270c58a776e2fed92644fe0bb85855be7a805d40008b2",
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
},
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x18BB8310E3a3DF4EFcCb6B3E9AeCB8bE6d4af07f#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xD17550876106645988051ffDd31dFc3cDaA29F9c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD17550876106645988051ffDd31dFc3cDaA29F9c#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x583F8BA007580c83EFB4B02C66694096cD5c56d1#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x61006c8566fac9a3315F646dA4624C00BbCF15E4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x8987777757a91Ed09912D7A5B8430bbAC2cf153C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0xF40C24bA346aA459ED28e196D4A46Cf17174bD6C"
]
},
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8987777757a91Ed09912D7A5B8430bbAC2cf153C#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb#code"
}
]
},
"escrows": [
{
"address": "0xB0EC3C1368AF7d9C2CAE6B7f8E022Cc14d59D2b1",
"sinceTimestamp": 1702284862,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0xB0EC3C1368AF7d9C2CAE6B7f8E022Cc14d59D2b1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x37119EAcFBc1c83DDAf80F6705b6B19630C101C4"
],
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1702284862,
"transactionHash": "0x22ce0fdd9d900c170784dfcdcaff898b1ed953659253a8b344c99a5432f62992",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
{
"timestamp": 1752720229,
"transactionHash": "0x3f73498578e6ec5c6869f292790ee4500dabf3b6ae1f6a60dd84f297dc7a5886",
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xB0EC3C1368AF7d9C2CAE6B7f8E022Cc14d59D2b1#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x211E1c4c7f1bF5351Ac850Ed10FD68CFfCF6c21b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x9f80b449014B50DC2BB5b93598eb50030A0cA1aD"
]
},
{
"timestamp": 1659381395,
"transactionHash": "0xffde6d577ce304fd07cac66a0034e0bf92674612609ee8dd482d9a77fe29f51e",
"implementations": [
"eth:0x2e3367cc9bd83959EF103AdF6fFea6200D0A15f0"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x16242595cAfA3a207E9354E3bdb000B59bA82875"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0xcc4e9E22AcDf93192cf7E149D7563F6d660E9Afc"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0xD03bFe2CE83632F4E618a97299cc91B1335BB2d9"
]
},
{
"timestamp": 1710423719,
"transactionHash": "0x51b492ac498a88565639cfe3df77be8729d61f1c413d00b66530d4022a13c36a",
"implementations": [
"eth:0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil\n * **batchPosterManager**: BatchPosterManagerMultisig\n * **batchPosters**: EOA 5, EOA 6",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x211E1c4c7f1bF5351Ac850Ed10FD68CFfCF6c21b#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0xd4254a4d136203dAd7AE5Ee05D6BD65B8d13157d"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xE7E8cCC7c381809BDC4b213CE44016300707B7Bd",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd"
],
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately L1Timelock, SecurityCouncil\n * **getValidators**: EOA 1, EOA 2, EOA 3, EOA 4, Validator, ValidatorWallet\n * **owner**: UpgradeExecutor; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE7E8cCC7c381809BDC4b213CE44016300707B7Bd#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xFE66b18Ef1B943F8594A2710376Af4B01AcfA688",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFE66b18Ef1B943F8594A2710376Af4B01AcfA688#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968515,
"transactionHash": "0x9826d4f30361ad867030f94b0987567baf54040c39b661d8a825e945dc221eec",
"implementations": [
"eth:0x86f0cf42Ad673B3D666d103E009EC142D1298a17"
]
},
{
"timestamp": 1758644207,
"transactionHash": "0x81f4da8c5dd87d618e927936c941151689ef674ce2639cd4f0857fa4b75a2861",
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin 2; ultimately L1Timelock, SecurityCouncil\n * **executors**: L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3ffFbAdAF827559da092217e474760E2b2c3CeDd#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312805,
"transactionHash": "0x26c2f0175775f3474d63281e8f30e0217b49840f6646210011eedbcb974dc41f",
"implementations": [
"eth:0xf852de96aD5Ca30d54b40b9cE5c8C6DE56C0Ef4B"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin 3; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xc4448b71118c9071Bcb9734A0EAc55D18A153949",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x320bB4633BB62027D4b1d7827dDc81CC73458639"
]
},
{
"timestamp": 1656455480,
"transactionHash": "0x061e8b23bf8776e3af8026e6d8858f24bca5b5f5ac3e7607be8630679e5c186b",
"implementations": [
"eth:0x0f9866dEb74C0Aa3448c27606ed69c7Ad651B554"
]
},
{
"timestamp": 1658842797,
"transactionHash": "0x470fdfe6bca3542698cf680412e97c28d47be43c4b53afd39bab1cf75bd72e85",
"implementations": [
"eth:0xB46e8571760Da0CFaEB9c9689C449Eb7dD7cB3e7"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0x1b2676D32E2f7430a564DD4560641F990dFE3D6a"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4448b71118c9071Bcb9734A0EAc55D18A153949#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xD4B80C3D7240325D18E645B49e6535A3Bf95cc58",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x476C807954b1ef8cF1Cb642E093fcF323557D721"
]
},
{
"timestamp": 1656120700,
"transactionHash": "0x3f3b15e2fd68a9fb1067ebae60151118a5a44294c354d04cafe9352b92ad7816",
"implementations": [
"eth:0x7439d8d4F3b9d9B6222f3E9760c75a47e08a7b3f"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD4B80C3D7240325D18E645B49e6535A3Bf95cc58#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "eth:0x23122da8C581AA7E0d07A36Ff1f16F799650232f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312893,
"transactionHash": "0x14fd84ed3f09649a2b7a19d2b51a4e4340bf85244b2e14c4a779ad3e7d70c4c3",
"implementations": [
"eth:0x97367486f5905c2B7EE7b58330Fb4EB52639db17"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin 3; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23122da8C581AA7E0d07A36Ff1f16F799650232f#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xC840838Bc438d73C16c2f8b22D2Ce3669963cD48",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312748,
"transactionHash": "0xc9c47a10713cf548d69b58b6b6d28b08460adbd5b9f63c3f98ef7327962fff60",
"implementations": [
"eth:0xa9610559f1E5BB0Eab9a25e21137D39426fd477E"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0x6D1c576Fe3e54313990450f5Fa322306B4cCB47B"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin 3; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC840838Bc438d73C16c2f8b22D2Ce3669963cD48#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x304807A7ed6c1296df2128E6ff3836e477329CD2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x32642eE509001D02615951090c7c56D6000e22C2"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x304807A7ed6c1296df2128E6ff3836e477329CD2#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6#code"
},
{
"name": "ProxyAdmin 2",
"isVerified": true,
"address": "eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5613AF0474EB9c528A34701A5b1662E3C8FA0678#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x71D78dC7cCC0e037e12de1E50f5470903ce37148#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8f6b82D007C0Ff4fd85fE84a5BFa89C00A4e6d2B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f6b82D007C0Ff4fd85fE84a5BFa89C00A4e6d2B#code"
},
{
"name": "L1DaiGateway",
"isVerified": true,
"address": "eth:0x97f63339374fCe157Aa8Ee27830172d2AF76A786",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97f63339374fCe157Aa8Ee27830172d2AF76A786#code"
},
{
"name": "L1Escrow",
"isVerified": true,
"address": "eth:0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3",
"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/0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3#code"
},
{
"name": "ProxyAdmin 3",
"isVerified": true,
"address": "eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xAd3a14Fc16751d9E7FCa2A99aF85bf4d135e878d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAd3a14Fc16751d9E7FCa2A99aF85bf4d135e878d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb31407BCf91d54AbFC0B7ef61bFc71b8b71F0678",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 8",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb31407BCf91d54AbFC0B7ef61bFc71b8b71F0678#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb85e18C8F552c823CdA4DCd9056213bDc970f9AE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb85e18C8F552c823CdA4DCd9056213bDc970f9AE#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xE4d0Ba69d082Fdf6f51b8fc8F92c19bF00B1a1B4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ValidatorOwnerMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE4d0Ba69d082Fdf6f51b8fc8F92c19bF00B1a1B4#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF32e5B5Ad94c0c0F83E0023b0AC48A93A8a2a428",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ValidatorOwnerMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF32e5B5Ad94c0c0F83E0023b0AC48A93A8a2a428#code"
}
],
"nova": [
{
"name": "L2UpgradeExecutor",
"isVerified": true,
"address": "arb-nova:0x86a02dD71363c440b21F4c0E5B2Ad01Ffe1A7482",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9"
],
"implementations": [
"arb-nova:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1678968483,
"transactionHash": "0xdf073ab55f4ee86b52d0a511575cc76e5abb5e65e36c23a9fe4f685bb620d807",
"implementations": [
"arb-nova:0x3096EAEdcb3A3B665552660F4d921E565D0073cB"
]
},
{
"timestamp": 1758645124,
"transactionHash": "0x06d23bf7c4f6d2744a60b2767eeb155cc463c64cdb7c12eb4d474e7b9b62d847",
"implementations": [
"arb-nova:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency\n * **executors**: L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x86a02dD71363c440b21F4c0E5B2Ad01Ffe1A7482#code"
},
{
"name": "L2GatewayRouter",
"isVerified": true,
"address": "arb-nova:0x21903d3F8176b1a0c17E953Cd896610Be9fFDFa8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0x8f377770289863DF73Fe665B74460579F82321fb"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656313073,
"transactionHash": "0xf3cdbd24cf85ce120e1846c278011da74771b6063423bf0cdccf8d9ab497dc88",
"implementations": [
"arb-nova:0x09854610F48462a7029fF192FA0AfB7F00133F54"
]
},
{
"timestamp": 1659981452,
"transactionHash": "0x9549dff9595eda9d452479b4ccc2092d2dd01a12f3c2db8165bec365d54128f1",
"implementations": [
"arb-nova:0x8f377770289863DF73Fe665B74460579F82321fb"
]
}
],
"description": "Router managing token <–> gateway mapping on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x21903d3F8176b1a0c17E953Cd896610Be9fFDFa8#code"
},
{
"name": "L2WethGateway",
"isVerified": true,
"address": "arb-nova:0x7626841cB6113412F9c88D3ADC720C9FAC88D9eD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0xbe04Ab2728c924D678f9FC833E379688c6eFA317"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656314863,
"transactionHash": "0x33df4b772bad38d87a6d0d5a9af01ff0c98ea3296c40e03d9aa02b381a17cc0a",
"implementations": [
"arb-nova:0x3525f734fcE1a26a6CEffFca43538290DC239771"
]
},
{
"timestamp": 1659981547,
"transactionHash": "0x20a549a861bb33f3fe522e14752416f2aebdb31747987b8bcc0ae81ecb36b3d5",
"implementations": [
"arb-nova:0x190C993Db842097df8b8d71c910f1802df0724C3"
]
},
{
"timestamp": 1675999199,
"transactionHash": "0x9ce025df640cca593a80fdad6d1f9e6f4ba8b226f9b296cc83c247f50407bea3",
"implementations": [
"arb-nova:0x190C993Db842097df8b8d71c910f1802df0724C3"
]
},
{
"timestamp": 1676052479,
"transactionHash": "0x66547238f43682dabc33c021b70f02ffdb62510399f42a174b43498c8065cff6",
"implementations": [
"arb-nova:0xbe04Ab2728c924D678f9FC833E379688c6eFA317"
]
}
],
"description": "Counterpart to the Bridge on L1. Mints and burns WETH on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x7626841cB6113412F9c88D3ADC720C9FAC88D9eD#code"
},
{
"name": "L2ERC20Gateway",
"isVerified": true,
"address": "arb-nova:0xcF9bAb7e53DDe48A6DC4f286CB14e05298799257",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0x466155FD6d8BbF1c0d5ca32818814cB28b6884d8"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656313079,
"transactionHash": "0x46c2f44cccae09860a903d1d11fa5ccff5694b7999f804ba089a1e020b8a95cc",
"implementations": [
"arb-nova:0xEa2562667c98Bfe329995616454BeA9ea3290D1C"
]
},
{
"timestamp": 1659981468,
"transactionHash": "0xe2ffd6f2c673a1b13f5f1614220aaeb30a62b15bab84197be67798ed00d68a1c",
"implementations": [
"arb-nova:0x466155FD6d8BbF1c0d5ca32818814cB28b6884d8"
]
}
],
"description": "Counterpart to the L1ERC20Gateway. Can mint (deposit to L2) and burn (withdraw to L1) ERC20 tokens on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xcF9bAb7e53DDe48A6DC4f286CB14e05298799257#code"
},
{
"name": "L2SurplusFee",
"isVerified": true,
"address": "arb-nova:0x509386DbF5C0BE6fd68Df97A05fdB375136c32De",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "This contract receives all SurplusFees: Transaction fee component that covers the cost beyond that covered by the L2 Base Fee during chain congestion. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x509386DbF5C0BE6fd68Df97A05fdB375136c32De#code"
},
{
"name": "StandardArbERC20",
"isVerified": true,
"address": "arb-nova:0x53923A0d1f4805463584c91b2E55d6c600A94E91",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x53923A0d1f4805463584c91b2E55d6c600A94E91#code"
},
{
"name": "L2BaseFee",
"isVerified": true,
"address": "arb-nova:0x9fCB6F75D99029f28F6F4a1d277bae49c5CAC79f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "This contract receives all SurplusFees: Transaction fee component that covers the cost beyond that covered by the L2 Base Fee during chain congestion. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x9fCB6F75D99029f28F6F4a1d277bae49c5CAC79f#code"
},
{
"name": "L2GatewaysProxyAdmin",
"isVerified": true,
"address": "arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xada790b026097BfB36a5ed696859b97a96CEd92C#code"
},
{
"name": "L2ARBGateway",
"isVerified": true,
"address": "arb-nova:0xbf544970E6BD77b21C6492C281AB60d0770451F4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0x554e12DBAa0fBeB8A35583a6Fd9D04BaA4ff597f"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656313084,
"transactionHash": "0xe0b217581754ec4ddf4385d876eedc76afcc5d70c4a394f1ea8515f3026cb43b",
"implementations": [
"arb-nova:0xb1d943d67b793D61F08b5F536AC591a057306fe5"
]
},
{
"timestamp": 1659981486,
"transactionHash": "0x4dcb9401328656bb4021741be0324b07a940682e28fd1b8ee45086c446f8ed13",
"implementations": [
"arb-nova:0x6e04b9dd87CF2cD3b7D81C50D2DF72d24BC0Cc4C"
]
},
{
"timestamp": 1670291691,
"transactionHash": "0x9403cf26146890250477d83eb73c08632c9af62a1e0f315a4b9b7c63425fc0e9",
"implementations": [
"arb-nova:0x554e12DBAa0fBeB8A35583a6Fd9D04BaA4ff597f"
]
}
],
"description": "* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xbf544970E6BD77b21C6492C281AB60d0770451F4#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "arb-nova:0xd31Ed16a8CeCe0A5070AC26024674eB680E3e639",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xd31Ed16a8CeCe0A5070AC26024674eB680E3e639#code"
},
{
"name": "BeaconProxyFactory",
"isVerified": true,
"address": "arb-nova:0xD9D66e55227c7558f0dB52adD059057Eb9bd90a3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xD9D66e55227c7558f0dB52adD059057Eb9bd90a3#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "arb-nova:0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9#code"
},
{
"name": "L2ArbitrumToken",
"isVerified": true,
"address": "arb-nova:0xf823C3cD3CeBE0a1fA952ba88Dc9EEf8e0Bf46AD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9"
],
"implementations": [
"arb-nova:0x099bC495EA4Fd828FEe7C636F0Ab84d0f501B96d"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1678968495,
"transactionHash": "0xad05f83f9215726a10ae715f735d274f9f7bee5de714f924f450c55c111dfa40",
"implementations": [
"arb-nova:0x099bC495EA4Fd828FEe7C636F0Ab84d0f501B96d"
]
}
],
"description": "* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xf823C3cD3CeBE0a1fA952ba88Dc9EEf8e0Bf46AD#code"
}
]
},
"escrows": [
{
"address": "0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd",
"sinceTimestamp": 1656050353,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0xd4254a4d136203dAd7AE5Ee05D6BD65B8d13157d"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3",
"sinceTimestamp": 1659620187,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DAI Vault for custom DAI Gateway. Fully controlled by MakerDAO governance.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf",
"sinceTimestamp": 1656305583,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312805,
"transactionHash": "0x26c2f0175775f3474d63281e8f30e0217b49840f6646210011eedbcb974dc41f",
"implementations": [
"eth:0xf852de96aD5Ca30d54b40b9cE5c8C6DE56C0Ef4B"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, “wrapped” token will be minted.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x23122da8C581AA7E0d07A36Ff1f16F799650232f",
"sinceTimestamp": 1659620187,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x23122da8C581AA7E0d07A36Ff1f16F799650232f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312893,
"transactionHash": "0x14fd84ed3f09649a2b7a19d2b51a4e4340bf85244b2e14c4a779ad3e7d70c4c3",
"implementations": [
"eth:0x97367486f5905c2B7EE7b58330Fb4EB52639db17"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting a custom token on the L2.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0x23122da8C581AA7E0d07A36Ff1f16F799650232f#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x2403Dd9dFa12255Be8f42bc1e644733c9b2d10Dd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2403Dd9dFa12255Be8f42bc1e644733c9b2d10Dd#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x3AAfe635FCfA0E5C19C9368ab5eb384277836006",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x566e4dA579fd344DF9fbC2Cbf4014faD41DCA0eA"
],
"implementations": [
"eth:0x107CbCe233467652E8a69E8555E58DA7AeF0bFa5",
"eth:0x4fd44C320f28e9cdB7CF0f5490434494Fbd4c7B4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1744054619,
"transactionHash": "0xc2be8923b1e282245bf9396df6ce3d92ae3a1ff495d21847090c31165ef57c1c",
"implementations": [
"eth:0x107CbCe233467652E8a69E8555E58DA7AeF0bFa5",
"eth:0x4fd44C320f28e9cdB7CF0f5490434494Fbd4c7B4"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 3, EOA 1\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 3, EOA 1\n * **validators**: EOA 3",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3AAfe635FCfA0E5C19C9368ab5eb384277836006#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x59F75d2730a6a505c3C12b797cE2e7Bdb0C11757",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x745fdabB168b7bdEe3801a37093C3A3c3230c50b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1744054619,
"transactionHash": "0xc2be8923b1e282245bf9396df6ce3d92ae3a1ff495d21847090c31165ef57c1c",
"implementations": [
"eth:0x745fdabB168b7bdEe3801a37093C3A3c3230c50b"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x59F75d2730a6a505c3C12b797cE2e7Bdb0C11757#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xD5dD6114a5DC6d1352C0EE47Cbed6a1807F079c7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x6B292d1d4D38653b4F1D6De41c6be198371C5af1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
{
"timestamp": 1744057055,
"transactionHash": "0x5703e61666c0026973520711926fa609a6a3f6223a2f38340ba241cb527649d5",
"implementations": [
"eth:0x6B292d1d4D38653b4F1D6De41c6be198371C5af1"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD5dD6114a5DC6d1352C0EE47Cbed6a1807F079c7#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x566e4dA579fd344DF9fbC2Cbf4014faD41DCA0eA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1\n * **executors**: Caldera Multisig 3, EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x566e4dA579fd344DF9fbC2Cbf4014faD41DCA0eA#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x7EF9d2fe20307165599101e93Ea05b04d46Af159",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x580b0Bf8bf47C338105166857cd9921EbF928B12"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1744057055,
"transactionHash": "0x5703e61666c0026973520711926fa609a6a3f6223a2f38340ba241cb527649d5",
"implementations": [
"eth:0x580b0Bf8bf47C338105166857cd9921EbF928B12"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7EF9d2fe20307165599101e93Ea05b04d46Af159#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xe4F99a0734C87C298d73C161F54874225E416997",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe4F99a0734C87C298d73C161F54874225E416997#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0x171c845f3229D6625bcdBcfB39BF53Fe15D2E4de",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x171c845f3229D6625bcdBcfB39BF53Fe15D2E4de#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x1E0fAE2d6Ca225903B81b742813E98CDBaD20037",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1E0fAE2d6Ca225903B81b742813E98CDBaD20037#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x3401eafd7Ceb84265B2cC4252155e12B446E7c57",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 3, EOA 1",
"upgradableBy": [
{
"name": "Caldera Multisig 3",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3401eafd7Ceb84265B2cC4252155e12B446E7c57#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x8C07c8F36764962C43eb9A6D50426C652185c51D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8C07c8F36764962C43eb9A6D50426C652185c51D#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0xa27dAF09D3a1d36e40316e38078FAF8bbBf3a12f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa27dAF09D3a1d36e40316e38078FAF8bbBf3a12f#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0xd8D0422128f4dEf4D057507f30Fc3e7Bd1A6c349",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd8D0422128f4dEf4D057507f30Fc3e7Bd1A6c349#code"
}
]
},
"escrows": [
{
"address": "0x2403Dd9dFa12255Be8f42bc1e644733c9b2d10Dd",
"sinceTimestamp": 1715834807,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x2403Dd9dFa12255Be8f42bc1e644733c9b2d10Dd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb6fbC59CF12d77C35d58B82Deee76cfc934F1235"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715834807,
"transactionHash": "0xfbd9b814ebadbe634d86f5d37bf0a54e6c7fcae5a7e2824e99dcf4d7caea1b10",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x2403Dd9dFa12255Be8f42bc1e644733c9b2d10Dd#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"base": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "base:0xCaE93d52fAd1Ed496b888eA5794b99Cd1999fFDC",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"base:0xfdFBECa29FFf84A5e1e31F8572509E2C36fF4B81"
],
"implementations": [
"base:0x796822909dcefDc433da071c7f75001452310a67",
"base:0x93B1A8c9F084FBe7972BAea73535bed3d32748c6"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0x796822909dcefDc433da071c7f75001452310a67",
"base:0x93B1A8c9F084FBe7972BAea73535bed3d32748c6"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 3\n * **getValidators**: EOA 4\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xCaE93d52fAd1Ed496b888eA5794b99Cd1999fFDC#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "base:0xcdf10130c75D42a3880Ae521734EaA8631aC2905",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0xD2d9A5662B03518f32bFd0a7f4D958e3F33D2125"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
},
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0xD2d9A5662B03518f32bFd0a7f4D958e3F33D2125"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xcdf10130c75D42a3880Ae521734EaA8631aC2905#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "base:0xd935fb2fA935Ba3D60cc001D757B0E45f540C6f1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0xaf58472D08D7dBCCC73D5f58D26b2bD9Ef43A5c2"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0xaf58472D08D7dBCCC73D5f58D26b2bD9Ef43A5c2"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xd935fb2fA935Ba3D60cc001D757B0E45f540C6f1#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "base:0xdA2445f1cA60bC2C739A96298746aDBB6706f011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0x51dEDBD2f190E0696AFbEE5E60bFdE96d86464ec"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0xe3Ba68E1c99314464768b60915c03aE446210df1"
]
},
{
"timestamp": 1745616625,
"transactionHash": "0xb916442698f67423a5d072b5c5256236b539c9383dbb27c96921325e70a516a2",
"implementations": [
"base:0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999"
]
},
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0x51dEDBD2f190E0696AFbEE5E60bFdE96d86464ec"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3\n * **batchPosters**: EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xdA2445f1cA60bC2C739A96298746aDBB6706f011#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "base:0xfdFBECa29FFf84A5e1e31F8572509E2C36fF4B81",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0x0064cE3e1a98E86e8d39715B9E448128a8bF2Aa6"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0x0064cE3e1a98E86e8d39715B9E448128a8bF2Aa6"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3\n * **executors**: Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xfdFBECa29FFf84A5e1e31F8572509E2C36fF4B81#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "base:0x10e9F660ed21e662e7f3fB4a49B0Bd9B219bEf95",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0x964177232be7C9e530054B3274b8B9D332b24Df5"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0x5596878012fD140Bc2Cdadb07E1543E51279C3E3"
]
},
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0x964177232be7C9e530054B3274b8B9D332b24Df5"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x10e9F660ed21e662e7f3fB4a49B0Bd9B219bEf95#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "base:0x167D43d1D60DE2320B5E143F9c6a058092A913C2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0x92c8a34fced97f9E69E267aEB9D4C6c46620553A"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898727,
"transactionHash": "0x92e5bd07f3941a0a09489f28abdf60599363684e4cdd80f08649411f8ab184d3",
"implementations": [
"base:0x92c8a34fced97f9E69E267aEB9D4C6c46620553A"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x167D43d1D60DE2320B5E143F9c6a058092A913C2#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "base:0x8635f49481A90DeD18E8D0eB374028C4b39E700F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0xb040b105A4a0C7a9CC290164AcCBC32855368322"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0xb4b1389DaC96eA8681D7e8aC479F3a9E7eD14766"
]
},
{
"timestamp": 1745616625,
"transactionHash": "0xb916442698f67423a5d072b5c5256236b539c9383dbb27c96921325e70a516a2",
"implementations": [
"base:0xa9Fa7dFC5885E83af241c31c865d5f59eD4669d5"
]
},
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0xb040b105A4a0C7a9CC290164AcCBC32855368322"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8635f49481A90DeD18E8D0eB374028C4b39E700F#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "base:0x3CaA4581e7bA1aF2607e0198aF4E4C208f09c98b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0xC159A3a21aFb34Dbc601a7A42aCD2eCa019393F7"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898727,
"transactionHash": "0x92e5bd07f3941a0a09489f28abdf60599363684e4cdd80f08649411f8ab184d3",
"implementations": [
"base:0xC159A3a21aFb34Dbc601a7A42aCD2eCa019393F7"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3CaA4581e7bA1aF2607e0198aF4E4C208f09c98b#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "base:0x0961428Ce999C15f5E2624d0bEbd9729387e8185",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0x7ed9C3A779BE8b742AbFC17a2F15353ecBcE3e00"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0xD2ed924DC094abBE7ea47D872C2a8625A803c2c8"
]
},
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0x7ed9C3A779BE8b742AbFC17a2F15353ecBcE3e00"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 3",
"upgradableBy": [
{
"name": "Conduit Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0961428Ce999C15f5E2624d0bEbd9729387e8185#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "base:0x760C1B5Fe95B2C66D67662Ec544975BDbb129645",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x760C1B5Fe95B2C66D67662Ec544975BDbb129645#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "base:0x76600101E42Dd9355D29741288407923268C06ed",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x76600101E42Dd9355D29741288407923268C06ed#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "base:0x841A6E8230CA0f563a841Eb6BF8dfe129672Bdc5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x841A6E8230CA0f563a841Eb6BF8dfe129672Bdc5#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "base:0x86c239F206A0878FB07243ABb4aFa932e6Ace911",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x86c239F206A0878FB07243ABb4aFa932e6Ace911#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "base:0x9F5F2dA42BE9833654C1D702e2E8cfFfC7a0A6A5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x9F5F2dA42BE9833654C1D702e2E8cfFfC7a0A6A5#code"
}
]
},
"escrows": [
{
"address": "0xcdf10130c75D42a3880Ae521734EaA8631aC2905",
"sinceTimestamp": 1737898497,
"tokens": [
"XCN"
],
"contract": {
"isVerified": true,
"address": "base:0xcdf10130c75D42a3880Ae521734EaA8631aC2905",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0xD2d9A5662B03518f32bFd0a7f4D958e3F33D2125"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898497,
"transactionHash": "0xe4bcd0b7311f620083b3529770281a46f423a40db65a56d739001e895096fed4",
"implementations": [
"base:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
},
{
"timestamp": 1770631231,
"transactionHash": "0x7ef5d95a6f6a9a27265087a3a94275a7bcb2c84ed12018b7215e51276b1b9282",
"implementations": [
"base:0xD2d9A5662B03518f32bFd0a7f4D958e3F33D2125"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows XCN sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://basescan.org/address/0xcdf10130c75D42a3880Ae521734EaA8631aC2905#code"
},
"chain": "base",
"includeInTotal": false,
"chainId": 8453
},
{
"address": "0x167D43d1D60DE2320B5E143F9c6a058092A913C2",
"sinceTimestamp": 1737898727,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "base:0x167D43d1D60DE2320B5E143F9c6a058092A913C2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x615b81747e819e0dB25c13570D5DA45Ef9bc81B3"
],
"implementations": [
"base:0x92c8a34fced97f9E69E267aEB9D4C6c46620553A"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1737898727,
"transactionHash": "0x92e5bd07f3941a0a09489f28abdf60599363684e4cdd80f08649411f8ab184d3",
"implementations": [
"base:0x92c8a34fced97f9E69E267aEB9D4C6c46620553A"
]
}
],
"url": "https://basescan.org/address/0x167D43d1D60DE2320B5E143F9c6a058092A913C2#code"
},
"chain": "base",
"chainId": 8453
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+4 -4
+3 -3
{
"ethereum": {
"roles": [
{
"id": "Operator",
"name": "Operator",
"description": "Permissioned to regularly update the state of the L2 on L1. Each state update must have been proven via the SHARP verifier and contains state diffs for data availability.",
"accounts": [
{
"address": "eth:0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Governor",
"name": "Governor",
"description": "Permissioned to manage the Operator role, finalize state and change critical parameters like the programHash, configHash, or message cancellation delay in the core contract.",
"accounts": [
{
"address": "eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0",
"type": "Contract",
"isVerified": true,
"name": "Paradex Multisig 2",
"url": "#Paradex Multisig 2"
},
{
"address": "eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93",
"type": "Contract",
"isVerified": true,
"name": "Paradex Multisig",
"url": "#Paradex Multisig"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "Paradex Multisig 2",
"name": "Paradex Multisig 2",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * StarkgateManager \n * StarkgateRegistry \n * USDC Bridge \n * Paradex \n* Can interact with USDC Bridge\n * disable the withdrawal limit and manage the security agent role that can enable it \n * enable the withdrawal limit \n * manage critical access control roles related to upgrades and set the proxy governor that can upgrade the implementation \n* A Governor - acting directly",
"accounts": [
{
"address": "eth:0xFF57A3bB6465501c993acF8f3b29125a862661C0",
"type": "Contract",
"isVerified": true,
"name": "0xFF57…61C0",
"url": "https://etherscan.io/address/0xFF57A3bB6465501c993acF8f3b29125a862661C0"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x721e0A5e09A6e0Bf9641193a4D82901607837Df9",
"type": "EOA",
"isVerified": true,
"name": "0x721e…7Df9",
"url": "https://etherscan.io/address/0x721e0A5e09A6e0Bf9641193a4D82901607837Df9"
},
{
"address": "eth:0xdaA9c7160E33d7c5C7D292f452c074Ec60f5C199",
"type": "EOA",
"isVerified": true,
"name": "0xdaA9…C199",
"url": "https://etherscan.io/address/0xdaA9c7160E33d7c5C7D292f452c074Ec60f5C199"
},
{
"address": "eth:0xfF206f46453A9dd8e1664532788f4987c15B937d",
"type": "EOA",
"isVerified": true,
"name": "0xfF20…937d",
"url": "https://etherscan.io/address/0xfF206f46453A9dd8e1664532788f4987c15B937d"
},
{
"address": "eth:0x3552F50fFe9517d8c6913992F3d4bA8030Ca1512",
"type": "EOA",
"isVerified": true,
"name": "0x3552…1512",
"url": "https://etherscan.io/address/0x3552F50fFe9517d8c6913992F3d4bA8030Ca1512"
},
{
"address": "eth:0x94d5dc7c96Eb6176783787669571970C7ba43e01",
"type": "EOA",
"isVerified": true,
"name": "0x94d5…3e01",
"url": "https://etherscan.io/address/0x94d5dc7c96Eb6176783787669571970C7ba43e01"
},
{
"address": "eth:0x661B48092a5af3F8d5B551D66f5B3F639deD3155",
"address": "eth:0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950",
"type": "EOA",
"isVerified": true,
"name": "0x661B…3155",
"url": "https://etherscan.io/address/0x661B48092a5af3F8d5B551D66f5B3F639deD3155"
"name": "0x6f52…8950",
"url": "https://etherscan.io/address/0x6f52712Ae102e6B7970F1e24c83d22e5fF5E8950"
}
],
"discoveryDrivenData": true
},
{
"id": "SHARP Multisig",
"name": "SHARP Multisig",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with 8d delay**\n * SHARPVerifierCallProxy [via: - acting directly with 8d delay]\n* Can interact with SHARPVerifierCallProxy\n * manage the upgrade admin amd access control roles \n * set custom implementations for specific operators (changes the verifier based on who calls it) ",
"accounts": [
{
"address": "eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4",
"type": "Contract",
"isVerified": true,
"name": "0x21F9…AEc4",
"url": "https://etherscan.io/address/0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0405107a60391Eb51821be373ff978115Ee58488",
"type": "EOA",
"isVerified": true,
"name": "0x0405…8488",
"url": "https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488"
},
{
"address": "eth:0x59232aC80E6d403b6381393e52f4665ECA328558",
"type": "EOA",
"isVerified": true,
"name": "0x5923…8558",
"url": "https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558"
},
{
"address": "eth:0xebc8416179fE90854fe8B3f774801165572cfD7F",
"type": "EOA",
"isVerified": true,
"name": "0xebc8…fD7F",
"url": "https://etherscan.io/address/0xebc8416179fE90854fe8B3f774801165572cfD7F"
},
{
"address": "eth:0x955B978F3ee7818dA71fA25c676062E6BC462Fec",
"type": "EOA",
"isVerified": true,
"name": "0x955B…2Fec",
"url": "https://etherscan.io/address/0x955B978F3ee7818dA71fA25c676062E6BC462Fec"
}
],
"discoveryDrivenData": true
},
{
"id": "Paradex Multisig",
"name": "Paradex Multisig",
"description": "A Multisig with 3/6 threshold. \n* Can upgrade **with no delay**\n * Paradex \n* A Governor - acting directly",
"accounts": [
{
"address": "eth:0x0a64d3D7747549aF6d65C225D56ac8f71e436B93",
"type": "Contract",
"isVerified": true,
"name": "0x0a64…6B93",
"url": "https://etherscan.io/address/0x0a64d3D7747549aF6d65C225D56ac8f71e436B93"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0405107a60391Eb51821be373ff978115Ee58488",
"type": "EOA",
"isVerified": true,
"name": "0x0405…8488",
"url": "https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488"
},
{
"address": "eth:0x64F4396bb0669C72858Cc50C779b48EB25F45770",
"type": "EOA",
"isVerified": true,
"name": "0x64F4…5770",
"url": "https://etherscan.io/address/0x64F4396bb0669C72858Cc50C779b48EB25F45770"
},
{
"address": "eth:0xCe958D997F4a5824D4d503A128216322C6C223a0",
"type": "EOA",
"isVerified": true,
"name": "0xCe95…23a0",
"url": "https://etherscan.io/address/0xCe958D997F4a5824D4d503A128216322C6C223a0"
},
{
"address": "eth:0x804d60CB1ade94511f7915A2062948685Ca8C81f",
"type": "EOA",
"isVerified": true,
"name": "0x804d…C81f",
"url": "https://etherscan.io/address/0x804d60CB1ade94511f7915A2062948685Ca8C81f"
},
{
"address": "eth:0xBF6aAc7Ae78B351180AD42b3dc5087eAd886B4A6",
"type": "EOA",
"isVerified": true,
"name": "0xBF6a…B4A6",
"url": "https://etherscan.io/address/0xBF6aAc7Ae78B351180AD42b3dc5087eAd886B4A6"
},
{
"address": "eth:0x59232aC80E6d403b6381393e52f4665ECA328558",
"type": "EOA",
"isVerified": true,
"name": "0x5923…8558",
"url": "https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558"
}
],
"discoveryDrivenData": true
},
{
"id": "StarkgateManager",
"name": "StarkgateManager",
"accounts": [
{
"address": "eth:0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE",
"type": "Contract",
"isVerified": true,
"name": "0x279b…9BAE",
"url": "https://etherscan.io/address/0x279b87139f2e89D7ce44c3056D2876fDEAB29BAE"
}
],
"chain": "ethereum",
"description": "Acts as a central contract to manage StarkGate bridge escrows (add new ones, deactivate existing, change configs) when given the Manager role from the respective escrows.\n* Can interact with USDC Bridge\n * deactivate bridging for deposits into the escrow ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2",
"type": "EOA",
"isVerified": true,
"name": "0xC70a…4fe2",
"url": "https://etherscan.io/address/0xC70ae19B5FeAA5c19f576e621d2bad9771864fe2",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* An Operator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x40060493a280915e2df7b46f8A9f251156080C39",
"type": "EOA",
"isVerified": true,
"name": "0x4006…0C39",
"url": "https://etherscan.io/address/0x40060493a280915e2df7b46f8A9f251156080C39",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with StarkgateManager\n * enroll new tokens, deactivate existing ones (for deposits) or block tokens from being added to the Multibridge \n * manage critical access control roles related to upgrades and set the proxy governor that can upgrade the implementation \n* Can interact with StarkgateRegistry\n * manage critical access control roles and the role that can upgrade the implementation ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x3e87462D152DFDeD22b6AC5bcde702B20ed70CB6",
"type": "EOA",
"isVerified": true,
"name": "0x3e87…0CB6",
"url": "https://etherscan.io/address/0x3e87462D152DFDeD22b6AC5bcde702B20ed70CB6",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with USDC Bridge\n * enable the withdrawal limit ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1779962809,
"baseTimestamp": 1780586770,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x28c32059d7e6147cf5257DFC127f7258beA1cdf4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754"
]
},
{
"timestamp": 1712769971,
"transactionHash": "0xaa0434ce70e52e72a359fc871e5285e8504dc1e24c28b3882f85c603465e88ff",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x28c32059d7e6147cf5257DFC127f7258beA1cdf4#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x5a961c7D162195a9Dc5a357Cc168b0694283382E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1743302171,
"transactionHash": "0x41c445bc5da5e4a440aeab5914ef6154a1a8e761336500e51868ca7595a99381",
"implementations": [
"eth:0xC03cF2ec47426C2318F91496316c62e5FAf413f3"
]
},
{
"timestamp": 1743302171,
"transactionHash": "0x41c445bc5da5e4a440aeab5914ef6154a1a8e761336500e51868ca7595a99381",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5a961c7D162195a9Dc5a357Cc168b0694283382E#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x6594085ca55a2B3a5fAD1C57A270D060eEa99877",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xD368b8dC5cB6fA26A53b7588db9A87E509A72d89"
],
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1, ParallelMultisig\n * **owner**: UpgradeExecutor; ultimately EOA 1, ParallelMultisig\n * **validators**: EOA 4",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6594085ca55a2B3a5fAD1C57A270D060eEa99877#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xb4795A0edae98d7820C37F06f6b858e7acb51DF8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1712769971,
"transactionHash": "0xaa0434ce70e52e72a359fc871e5285e8504dc1e24c28b3882f85c603465e88ff",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1714592915,
"transactionHash": "0x2f5db148c87e87a1670b52d003d051efecdfb606bc0b265f36d7bfeb9977601e",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig\n * **batchPosters**: EOA 2, EOA 3",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4795A0edae98d7820C37F06f6b858e7acb51DF8#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xD368b8dC5cB6fA26A53b7588db9A87E509A72d89",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig\n * **executors**: EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD368b8dC5cB6fA26A53b7588db9A87E509A72d89#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x12485B9d469c1D51d05b5C39e009D50eF0170cF7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x12485B9d469c1D51d05b5C39e009D50eF0170cF7#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x6Eb9240d4add111D5Fc81b10Ff12eECabcf9752d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704126935,
"transactionHash": "0x13cbbc1a526c431bc86f883ba14816912d3f1a6f92105d2c34a08c15d806ffa4",
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6Eb9240d4add111D5Fc81b10Ff12eECabcf9752d#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xB6e0586616ebE79b2F86dDB32048c500D23b3AC3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB6e0586616ebE79b2F86dDB32048c500D23b3AC3#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x5D657b905275F36AD62C3d5C36966975613aFB96",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704126935,
"transactionHash": "0x13cbbc1a526c431bc86f883ba14816912d3f1a6f92105d2c34a08c15d806ffa4",
"implementations": [
"eth:0x6525137BfF366fbc0A89E3e5A4d244B5A0090a6D"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5D657b905275F36AD62C3d5C36966975613aFB96#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "eth:0xa1c86E2362dba0525075622af6d5f739B1304D45",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0xedB05ED1a37750833fBE85b808c872D841d00859"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704126935,
"transactionHash": "0x13cbbc1a526c431bc86f883ba14816912d3f1a6f92105d2c34a08c15d806ffa4",
"implementations": [
"eth:0xedB05ED1a37750833fBE85b808c872D841d00859"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa1c86E2362dba0525075622af6d5f739B1304D45#code"
},
{
"name": "L1WethGateway",
"isVerified": true,
"address": "eth:0x150286BdbE7C8Cd23D41a8e1e64438e0dc04dc3d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0xa86996bED19547f7dEf22a087dD61b5F9Fb6C684"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704126935,
"transactionHash": "0x13cbbc1a526c431bc86f883ba14816912d3f1a6f92105d2c34a08c15d806ffa4",
"implementations": [
"eth:0xa86996bED19547f7dEf22a087dD61b5F9Fb6C684"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x150286BdbE7C8Cd23D41a8e1e64438e0dc04dc3d#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x17e7F68ce50A77e55C7834ddF31AEf86403B8010",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17e7F68ce50A77e55C7834ddF31AEf86403B8010#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x36E5DE57f862cf5bA28624845faB8c2fF6Aa41d2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, ParallelMultisig",
"upgradableBy": [
{
"name": "ParallelMultisig",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36E5DE57f862cf5bA28624845faB8c2fF6Aa41d2#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x57EA090Ac0554d174AE0e2855B460e84A1A7C221",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57EA090Ac0554d174AE0e2855B460e84A1A7C221#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x72B166070781a552D7b95a907eF59ca05d3D5a62",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72B166070781a552D7b95a907eF59ca05d3D5a62#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8b73Ef238ADaB31EBC7c05423d243c345241a22f#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38#code"
}
]
},
"escrows": [
{
"address": "0x5a961c7D162195a9Dc5a357Cc168b0694283382E",
"sinceTimestamp": 1704125939,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x5a961c7D162195a9Dc5a357Cc168b0694283382E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704125939,
"transactionHash": "0x56a0bbc36c0e79b2338cddce3f80c7998dd0f526d885a6b1aa827543769619df",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1743302171,
"transactionHash": "0x41c445bc5da5e4a440aeab5914ef6154a1a8e761336500e51868ca7595a99381",
"implementations": [
"eth:0xC03cF2ec47426C2318F91496316c62e5FAf413f3"
]
},
{
"timestamp": 1743302171,
"transactionHash": "0x41c445bc5da5e4a440aeab5914ef6154a1a8e761336500e51868ca7595a99381",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x5a961c7D162195a9Dc5a357Cc168b0694283382E#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6Eb9240d4add111D5Fc81b10Ff12eECabcf9752d",
"sinceTimestamp": 1704126935,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x6Eb9240d4add111D5Fc81b10Ff12eECabcf9752d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704126935,
"transactionHash": "0x13cbbc1a526c431bc86f883ba14816912d3f1a6f92105d2c34a08c15d806ffa4",
"implementations": [
"eth:0xf43bce5D32742FFC862eA182b0b5544CbDBB0F02"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://etherscan.io/address/0x6Eb9240d4add111D5Fc81b10Ff12eECabcf9752d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xa1c86E2362dba0525075622af6d5f739B1304D45",
"sinceTimestamp": 1704126935,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xa1c86E2362dba0525075622af6d5f739B1304D45",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x6d4bE7c1a618D43bE4a1Bd7F8eC8E079Ff52Fb4d"
],
"implementations": [
"eth:0xedB05ED1a37750833fBE85b808c872D841d00859"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704126935,
"transactionHash": "0x13cbbc1a526c431bc86f883ba14816912d3f1a6f92105d2c34a08c15d806ffa4",
"implementations": [
"eth:0xedB05ED1a37750833fBE85b808c872D841d00859"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting custom token on L2.",
"url": "https://etherscan.io/address/0xa1c86E2362dba0525075622af6d5f739B1304D45#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "external",
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v31",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v31/arbos",
"verificationStatus": "notVerified",
"hash": "0x260f5fa5c3176a856893642e149cf128b5a8de9f828afec8d11184415dd8dc69"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 10\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0aeAe1A2A6f24284aA676B1E93f44AdC1A712850#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x1791EDF1415432195D737d067b2118C3F303D2C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1791EDF1415432195D737d067b2118C3F303D2C3#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x93CA3db0dF3e78e798004bbE14e1ADE222B14dFa",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0xD2f1C58Da62BCfaD4BeF7802B2F6363C2cbe7082"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 1, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x93CA3db0dF3e78e798004bbE14e1ADE222B14dFa#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xd3643255ea784c75a5325CC5a4A549C7CD62E499",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd3643255ea784c75a5325CC5a4A549C7CD62E499#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53E276D701Fc2338F6F015B0038Ce8ba3d5d01CC#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xd2E3B3be0ddA5E3214f551aF5A4f4049b9D031A9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd2E3B3be0ddA5E3214f551aF5A4f4049b9D031A9#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xE92Df19F4e0Fd067FE3b788Cf03ffD06Cd9Be4A7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x4b4fdb082b44490c9AEEd91C932c3E33AAbfF653"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE92Df19F4e0Fd067FE3b788Cf03ffD06Cd9Be4A7#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x16a93209382236236e964b9C22853e34C3095028",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x16a93209382236236e964b9C22853e34C3095028#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xd1AF4aD8Be9a8A2f288048140c6E6380420c55fA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd1AF4aD8Be9a8A2f288048140c6E6380420c55fA#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
}
]
},
"escrows": [
{
"address": "0xd3643255ea784c75a5325CC5a4A549C7CD62E499",
"sinceTimestamp": 1748890679,
"tokens": [
"PEPU"
],
"contract": {
"isVerified": true,
"address": "eth:0xd3643255ea784c75a5325CC5a4A549C7CD62E499",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x16a93209382236236e964b9C22853e34C3095028"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1748890679,
"transactionHash": "0x5a9a59a542c09412187212f420d2efaa1a8de9ea679991d25d64776068ac5631",
"implementations": [
"eth:0x4c62131fFb67348A95B4d2665A8298A1f93A1E65"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows PEPU sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xd3643255ea784c75a5325CC5a4A549C7CD62E499#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"nova": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb-nova:0x04ea347cC6A258A7F65D67aFb60B1d487062A1d0",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb-nova:0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9"
],
"implementations": [
"arb-nova:0xF7C1c37406626B305f5136364016425f487516a3",
"arb-nova:0x5CAF2e861bB26aA0576583677488694FCf30e514"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb-nova:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1732554174,
"transactionHash": "0x1eb946f2394c7e8be67336259aa449fbc92fe2b4cf2850c41d2c8dcf54e0193a",
"implementations": [
"arb-nova:0xF7C1c37406626B305f5136364016425f487516a3",
"arb-nova:0x5CAF2e861bB26aA0576583677488694FCf30e514"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately SafeL2\n * **owner**: UpgradeExecutor; ultimately SafeL2\n * **validators**: EOA 3, EOA 4",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x04ea347cC6A258A7F65D67aFb60B1d487062A1d0#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb-nova:0x383eFE8D410285c5CbE1B4F296022640759aA834",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x8F77B0d1e891C87F2987Afb476d74e2a71341b0d"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x09824fe72BFF474d16D9c2774432E381BBD60662"
]
},
{
"timestamp": 1732553229,
"transactionHash": "0x35689ea16b8ccd3c7074f1eebde2f4fcfa94bdfb314450e736632eba04ebbb18",
"implementations": [
"arb-nova:0xDCa690cB409FF3FBDC85F12179c4718Fa080Fb38"
]
},
{
"timestamp": 1732554174,
"transactionHash": "0x1eb946f2394c7e8be67336259aa449fbc92fe2b4cf2850c41d2c8dcf54e0193a",
"implementations": [
"arb-nova:0x8F77B0d1e891C87F2987Afb476d74e2a71341b0d"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x383eFE8D410285c5CbE1B4F296022640759aA834#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb-nova:0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742810441,
"transactionHash": "0x88e38ce4a7e0b667fed77dbc25c187204e98015ee24429093541867beb30cadc",
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb-nova:0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x1Cc23D484454468C208e4d737288937862b8ecC9"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1732553229,
"transactionHash": "0x35689ea16b8ccd3c7074f1eebde2f4fcfa94bdfb314450e736632eba04ebbb18",
"implementations": [
"arb-nova:0xFc9474Db7E2Be79429d456F52741cA18FB7b05c5"
]
},
{
"timestamp": 1742818110,
"transactionHash": "0xf21b441cc66ff6ce0cb9f43f17a82009561559f61736e6efbecc38ef7c9bdcc7",
"implementations": [
"arb-nova:0x1Cc23D484454468C208e4d737288937862b8ecC9"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **batchPosters**: EOA 1, EOA 2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb-nova:0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **executors**: SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb-nova:0xA597e0212971e65f53f288Ff1fFd26A6C8201f83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xA597e0212971e65f53f288Ff1fFd26A6C8201f83#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb-nova:0xFF55fB76F5671dD9eB6c62EffF8D693Bb161a3ad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x001B9eDD86D3674fc8aACc98Bf85f08851281Bc4"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742818110,
"transactionHash": "0xf21b441cc66ff6ce0cb9f43f17a82009561559f61736e6efbecc38ef7c9bdcc7",
"implementations": [
"arb-nova:0x001B9eDD86D3674fc8aACc98Bf85f08851281Bc4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xFF55fB76F5671dD9eB6c62EffF8D693Bb161a3ad#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb-nova:0x0fF7A97caAb356c5507e5355b6819CB8b93d5591",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x0fF7A97caAb356c5507e5355b6819CB8b93d5591#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb-nova:0x19bD7120cD19D6BE6D21f987544e404e47608c16",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x19bD7120cD19D6BE6D21f987544e404e47608c16#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb-nova:0x2964CBfC551A76527D42F57131E7f77f9Dce8921",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x2964CBfC551A76527D42F57131E7f77f9Dce8921#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb-nova:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb-nova:0x77E1b4F2e1bf192975c59bdF44EcB5a2D42AF017",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x77E1b4F2e1bf192975c59bdF44EcB5a2D42AF017#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb-nova:0x944dB3fA4828B5F41ca0E77b97867529F1A899cB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x944dB3fA4828B5F41ca0E77b97867529F1A899cB#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb-nova:0xfaD0d420ffF503a40E9CDcb90ff0328E46f06c08",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xfaD0d420ffF503a40E9CDcb90ff0328E46f06c08#code"
}
]
},
"escrows": [
{
"address": "0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"sinceTimestamp": 1709904018,
"tokens": [],
"contract": {
"isVerified": true,
"address": "arb-nova:0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742810441,
"transactionHash": "0x88e38ce4a7e0b667fed77dbc25c187204e98015ee24429093541867beb30cadc",
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://nova.arbiscan.io/address/0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0#code"
},
"chain": "nova",
"includeInTotal": false,
"chainId": 42170
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0x0AFA44077796B9F14ecDAE817403ACb255B5983e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0AFA44077796B9F14ecDAE817403ACb255B5983e#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x35381f63091926750F43b2A7401B083263aDEF83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x35381f63091926750F43b2A7401B083263aDEF83#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xd688dabDBb14D673898689135a23a174560c8C04"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4eD3F488a5a4417839BbC39712EB76D8Aaee6eE8#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x85eC1b9138a8b9659A51e2b51bb0861901040b59",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x46FaF6838Bbf770986f073348D41881D5e54Fb0F"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1746735095,
"transactionHash": "0xd2b584ea74be507497164ccdf37ceb1b3b66bad282c58a77811519c0c6b3acf7",
"implementations": [
"eth:0xC1fB0cCa6e751dEe25e3D537D309d336E8304d50"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 10, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x85eC1b9138a8b9659A51e2b51bb0861901040b59#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xd688dabDBb14D673898689135a23a174560c8C04",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd688dabDBb14D673898689135a23a174560c8C04#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x7e4627bC114Fcd12ba912103279FD2858E644E71",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7e4627bC114Fcd12ba912103279FD2858E644E71#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0x85a77E293a81d4C35F304951e41378E5e43d1f53"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1746735095,
"transactionHash": "0xd2b584ea74be507497164ccdf37ceb1b3b66bad282c58a77811519c0c6b3acf7",
"implementations": [
"eth:0x81eEEbb902693A3a90948Fe0A661aedb35271054"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xE2C902BC61296531e556962ffC81A082b82f5F28",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047951,
"transactionHash": "0xa224ea5ce59dc666331b8e2a60154dcb00f3972c3bba8b50fc2844b257828344",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE2C902BC61296531e556962ffC81A082b82f5F28#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x17551CBD1ed02768b00D5Bd198c2D86a4c7ee43d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047951,
"transactionHash": "0xa224ea5ce59dc666331b8e2a60154dcb00f3972c3bba8b50fc2844b257828344",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17551CBD1ed02768b00D5Bd198c2D86a4c7ee43d#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb90fe445014e74eA5aA7681291212bfEa37031CC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xf576102530749344D2f4C04D15C2B8609c7897ea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf576102530749344D2f4C04D15C2B8609c7897ea#code"
}
]
},
"escrows": [
{
"address": "0x35381f63091926750F43b2A7401B083263aDEF83",
"sinceTimestamp": 1740047699,
"tokens": [
"PLUME"
],
"contract": {
"isVerified": true,
"address": "eth:0x35381f63091926750F43b2A7401B083263aDEF83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047699,
"transactionHash": "0xc3385e9ca08b08dbaff64e36514f4268ff6ade6a62ea85aef959339f3b049cc4",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770282995,
"transactionHash": "0x91f946c6c2aaa8d2d87616f38d39514c8c08650703eb12010de9968db16bed4f",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows PLUME sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x35381f63091926750F43b2A7401B083263aDEF83#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xE2C902BC61296531e556962ffC81A082b82f5F28",
"sinceTimestamp": 1740047951,
"tokens": "*",
"contract": {
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xE2C902BC61296531e556962ffC81A082b82f5F28",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb90fe445014e74eA5aA7681291212bfEa37031CC"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1740047951,
"transactionHash": "0xa224ea5ce59dc666331b8e2a60154dcb00f3972c3bba8b50fc2844b257828344",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.",
"url": "https://etherscan.io/address/0xE2C902BC61296531e556962ffC81A082b82f5F28#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x65AD139061B3f6DDb16170a07b925337ddf42407",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x3d0b021E1d2A8747411E3724d5165716B35448f3"
],
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1737664076,
"transactionHash": "0x56b66d94dbb3f279ed32b857ad068fd5a3091613410bcbefce338883af855e17",
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **validators**: EOA 11, EOA 13, EOA 15, EOA 18, EOA 2, EOA 20, EOA 23, EOA 25, EOA 27, EOA 28, EOA 29, EOA 3, EOA 4, EOA 5",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x65AD139061B3f6DDb16170a07b925337ddf42407#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xa58F38102579dAE7C584850780dDA55744f67DF1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1737664076,
"transactionHash": "0x56b66d94dbb3f279ed32b857ad068fd5a3091613410bcbefce338883af855e17",
"implementations": [
"arb1:0x18ed2d5bF7c5943bFd20a2995b9879E30c9E8dDa"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **batchPosters**: EOA 10, EOA 12, EOA 14, EOA 16, EOA 17, EOA 19, EOA 21, EOA 22, EOA 24, EOA 26, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa58F38102579dAE7C584850780dDA55744f67DF1#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0xaF57dD96a0c0E8757329D55C56De6eC50Aac73Ea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0x09824fe72BFF474d16D9c2774432E381BBD60662"
]
},
{
"timestamp": 1737664076,
"transactionHash": "0x56b66d94dbb3f279ed32b857ad068fd5a3091613410bcbefce338883af855e17",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
{
"timestamp": 1737664076,
"transactionHash": "0x56b66d94dbb3f279ed32b857ad068fd5a3091613410bcbefce338883af855e17",
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xaF57dD96a0c0E8757329D55C56De6eC50Aac73Ea#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x3d0b021E1d2A8747411E3724d5165716B35448f3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **executors**: Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3d0b021E1d2A8747411E3724d5165716B35448f3#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x0cD85675897B7020d7121e63AB250d3F47ff3Ff2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0cD85675897B7020d7121e63AB250d3F47ff3Ff2#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xC3874bE54E3f25BBC6B4fB582654fd9294f485a1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0x8f6406781cC955398C45a48DcEfeEBDb2c8e2CaA"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC3874bE54E3f25BBC6B4fB582654fd9294f485a1#code"
},
{
"name": "Bridge",
"isVerified": false,
"address": "arb1:0x074fFD20C6D8865752C997f4980Cf70F2a3Fbac6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
{
"timestamp": 1760727093,
"transactionHash": "0x77b693822f7699a3e4a181aeb90ed6a0d9242b78032cc6ed9727264e1b90b8e9",
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x074fFD20C6D8865752C997f4980Cf70F2a3Fbac6#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x33c1514Bf90e202d242C299b37C60f908aa206D4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x33c1514Bf90e202d242C299b37C60f908aa206D4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x54E0923782b701044444De5d8c3A45aC890b0881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x54E0923782b701044444De5d8c3A45aC890b0881#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xCC6f49cff395c4d160C61112522700dcB007c41d#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xD89d54007079071cBA859127318b9F34eeB78049",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD89d54007079071cBA859127318b9F34eeB78049#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881#code"
}
]
},
"escrows": [
{
"address": "0x074fFD20C6D8865752C997f4980Cf70F2a3Fbac6",
"sinceTimestamp": 1708543048,
"tokens": [
"ETH"
],
"contract": {
"isVerified": false,
"address": "arb1:0x074fFD20C6D8865752C997f4980Cf70F2a3Fbac6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xCC6f49cff395c4d160C61112522700dcB007c41d"
],
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1708543048,
"transactionHash": "0x2b3afe91774ac66b00b40909ee92830313aea5687731aa8ba10f0dfc47af7046",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
{
"timestamp": 1760727093,
"transactionHash": "0x77b693822f7699a3e4a181aeb90ed6a0d9242b78032cc6ed9727264e1b90b8e9",
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x074fFD20C6D8865752C997f4980Cf70F2a3Fbac6#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x330F8fEB25f3427cABA32446728C36ae67f2135b",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x246bAB4F36095ABc74052Cc122c318298a9ef876"
],
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1737659437,
"transactionHash": "0x8eb89813bf9d11a83725be953864a344ceb4b975a320195bda617979edf004a6",
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **validators**: EOA 11, EOA 13, EOA 15, EOA 18, EOA 2, EOA 20, EOA 23, EOA 25, EOA 27, EOA 28, EOA 29, EOA 3, EOA 4, EOA 5",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x330F8fEB25f3427cABA32446728C36ae67f2135b#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x6eE94AD8057Fd7Ba4d47bb6278a261c8a9FD4E3f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0x18ed2d5bF7c5943bFd20a2995b9879E30c9E8dDa"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **batchPosters**: EOA 10, EOA 12, EOA 14, EOA 16, EOA 17, EOA 19, EOA 21, EOA 22, EOA 24, EOA 26, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6eE94AD8057Fd7Ba4d47bb6278a261c8a9FD4E3f#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0xf3224F90c0A6138209a9EbaFd1971AD1E04eEb0D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
{
"timestamp": 1737659437,
"transactionHash": "0x8eb89813bf9d11a83725be953864a344ceb4b975a320195bda617979edf004a6",
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf3224F90c0A6138209a9EbaFd1971AD1E04eEb0D#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x246bAB4F36095ABc74052Cc122c318298a9ef876",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **executors**: Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x246bAB4F36095ABc74052Cc122c318298a9ef876#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xa4270256B160C3Ebec2d6914a906c7EC38D8d072",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa4270256B160C3Ebec2d6914a906c7EC38D8d072#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xEe30EfcaF812d10e1EFE25E9458f76a39DAD3239",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0x8f6406781cC955398C45a48DcEfeEBDb2c8e2CaA"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xEe30EfcaF812d10e1EFE25E9458f76a39DAD3239#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x33c1514Bf90e202d242C299b37C60f908aa206D4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x33c1514Bf90e202d242C299b37C60f908aa206D4#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1#code"
},
{
"name": "Bridge",
"isVerified": false,
"address": "arb1:0x53D82686BC9827fEc03bcEe661B37b855A18EcA9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
{
"timestamp": 1760727099,
"transactionHash": "0x1559c15f490fa5bed01d4280bf15143bf1bfbccb59df90e925c105865f4bdd39",
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x53D82686BC9827fEc03bcEe661B37b855A18EcA9#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x54E0923782b701044444De5d8c3A45aC890b0881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x54E0923782b701044444De5d8c3A45aC890b0881#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xD89d54007079071cBA859127318b9F34eeB78049",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD89d54007079071cBA859127318b9F34eeB78049#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881#code"
}
]
},
"escrows": [
{
"address": "0x53D82686BC9827fEc03bcEe661B37b855A18EcA9",
"sinceTimestamp": 1721252581,
"tokens": [
"ETH"
],
"contract": {
"isVerified": false,
"address": "arb1:0x53D82686BC9827fEc03bcEe661B37b855A18EcA9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x490C4c92Ea9FF02EE8277222C66afD80Bfb1b7c1"
],
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1721252581,
"transactionHash": "0x028f0fec788f169305337acd60998cfebebbc5cfcffacf4f12e7ddfc6a7e488d",
"implementations": [
"arb1:0xB23214f241bdEb275f7dCBfbb1EA79349101d4B0"
]
},
{
"timestamp": 1760727099,
"transactionHash": "0x1559c15f490fa5bed01d4280bf15143bf1bfbccb59df90e925c105865f4bdd39",
"implementations": [
"arb1:0x866CF7AE3d44dC5f7Dd3d4B36e8467F18fd2B9F2"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x53D82686BC9827fEc03bcEe661B37b855A18EcA9#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x53b168016aA2E3469B5D76315311aAC4Ce0020DB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53b168016aA2E3469B5D76315311aAC4Ce0020DB#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x903Af716AA8C7C27Fd785F453D5a59C20E06bDeC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0x46FaF6838Bbf770986f073348D41881D5e54Fb0F"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x6F2E7F9B5Db5e4e9B5B1181D2Eb0e4972500C324"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batchPosters**: EOA 1, EOA 10, EOA 2, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x903Af716AA8C7C27Fd785F453D5a59C20E06bDeC#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xc3196FEE2b194bf699076865060d566c7Cb02892",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x6a23390d8a086c1091188f8Db702E91DCA38805F"
],
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x16aD566aaa05fe6977A033DE2472c05C84CAB724",
"eth:0xA4892FFE3Deab25337D7D1A5b94b35dABa255451"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1\n * **getValidators**: EOA 3\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3196FEE2b194bf699076865060d566c7Cb02892#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xfFfEB1c8C3ec3c45c17E4E1EB547452DF9FF1A76",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x93069fFd7730733eCfd57A0D2D528CF686248524"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfFfEB1c8C3ec3c45c17E4E1EB547452DF9FF1A76#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x6a23390d8a086c1091188f8Db702E91DCA38805F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0x011d8F10fbC20C14B453768253CdFF7EB5B96917"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **executors**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6a23390d8a086c1091188f8Db702E91DCA38805F#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x46D9ff7ED3049798B406be811FE68b75B208f81A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741769183,
"transactionHash": "0xad7a867ff706f230dc444566dba0821eae0b28561ae70462947529747833e771",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x46D9ff7ED3049798B406be811FE68b75B208f81A#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x7d4509336b154C17Df80D03A19C051ddAcdA2e7f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0x85a77E293a81d4C35F304951e41378E5e43d1f53"
]
},
{
"timestamp": 1745616419,
"transactionHash": "0x95770a864151002415a2e504452a4bccb01906d9a94d74cbd9cb651b337317bd",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0xD210b64eD9D47Ef8Acf1A3284722FcC7Fc6A1f4e"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7d4509336b154C17Df80D03A19C051ddAcdA2e7f#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xc0dd0a059a8a948B7737D00bfC9024475C791259",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0x1f24EDD5161f82588007f33B72b0b28e46cCE878"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x17E0C5fE0dFF2AE4cfC9E96d9Ccd112DaF5c0386"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc0dd0a059a8a948B7737D00bfC9024475C791259#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x8b4b4328455615fCb7aaE14460cfa90767B1df55",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741769183,
"transactionHash": "0xad7a867ff706f230dc444566dba0821eae0b28561ae70462947529747833e771",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8b4b4328455615fCb7aaE14460cfa90767B1df55#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x02f3a60D25abF1844740a39cd9679227309a1Fa6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0xb0f031Cd10598c6b4C33FcE1675F26CF937091da"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x0d079b22B0B4083b9b0bDc62Bf1a4EAF4a95bDEe"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x02f3a60D25abF1844740a39cd9679227309a1Fa6#code"
},
{
"name": "L1OrbitUSDCGateway",
"isVerified": true,
"address": "eth:0x23593421341152D5322F8869c0638DAAc4aED57C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2A7F4d60fE6dD63c4690Dd9f11C26D0BE53b3110"
],
"implementations": [
"eth:0xca8b6572477f5b5c5a2b1C7fEad58cF3DA5CD211"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744876727,
"transactionHash": "0xc3b0525b9d01af27d0d6a18782ee358784ee32c5e0a751a573e7649474db62c4",
"implementations": [
"eth:0xca8b6572477f5b5c5a2b1C7fEad58cF3DA5CD211"
]
}
],
"description": "Orbit stack specific escrow (gateway) for Circle USDC that uses the canonical bridge for messaging but is governed externally.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23593421341152D5322F8869c0638DAAc4aED57C#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x256bBeDabDBa636a9Cd17890841C941a28e9437e#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x29efff3EfE3E01A3F69011a054C33410edFc2283",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x29efff3EfE3E01A3F69011a054C33410edFc2283#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x2A7F4d60fE6dD63c4690Dd9f11C26D0BE53b3110",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2A7F4d60fE6dD63c4690Dd9f11C26D0BE53b3110#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x7368F782E109518fD3914e8b315eE45E51C15835",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7368F782E109518fD3914e8b315eE45E51C15835#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91cB57F200Bd5F897E41C164425Ab4DB0991A64f#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1D75248ed95450B793d80F9fb418C2eD4c5F5e4#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xDdaD5E59D056078A4E67a9d42e21Ce8057F22D60#code"
}
]
},
"escrows": [
{
"address": "0x53b168016aA2E3469B5D76315311aAC4Ce0020DB",
"sinceTimestamp": 1741768931,
"tokens": [
"POWER"
],
"contract": {
"isVerified": true,
"address": "eth:0x53b168016aA2E3469B5D76315311aAC4Ce0020DB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x256bBeDabDBa636a9Cd17890841C941a28e9437e"
],
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1741768931,
"transactionHash": "0xde582f59d31c616079c477151e5399bbf9788ae7fe5f241172ca073cbd0fdac8",
"implementations": [
"eth:0xd7FD189F1652378f32dA3db7926e51a7b0344797"
]
},
{
"timestamp": 1770628955,
"transactionHash": "0xafbcbe360ba3526a2f683ac3199504e90bd3b4647b959e94aef6c5b5487a0461",
"implementations": [
"eth:0x81be1Bf06cB9B23e8EEDa3145c3366A912DAD9D6"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows POWER sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x53b168016aA2E3469B5D76315311aAC4Ce0020DB#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x23593421341152D5322F8869c0638DAAc4aED57C",
"sinceTimestamp": 1741768931,
"tokens": [
"USDC"
],
"contract": {
"name": "L1OrbitUSDCGateway",
"isVerified": true,
"address": "eth:0x23593421341152D5322F8869c0638DAAc4aED57C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x2A7F4d60fE6dD63c4690Dd9f11C26D0BE53b3110"
],
"implementations": [
"eth:0xca8b6572477f5b5c5a2b1C7fEad58cF3DA5CD211"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744876727,
"transactionHash": "0xc3b0525b9d01af27d0d6a18782ee358784ee32c5e0a751a573e7649474db62c4",
"implementations": [
"eth:0xca8b6572477f5b5c5a2b1C7fEad58cF3DA5CD211"
]
}
],
"url": "https://etherscan.io/address/0x23593421341152D5322F8869c0638DAAc4aED57C#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x2e988Ea0873C9d712628F0bf38DAFdE754927C89",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x139C5A235632EDdad741ff380112B3161d31a21C"
],
"implementations": [
"arb1:0x086Fe1f212A4F311f1e3027A35dE3d45dC4AFA42",
"arb1:0x107B8ff1daeEFc37c27fc794fdb0828A1B5Af262"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0xc326D023758d7D212d529D1E58D7f271CAe49fcf",
"arb1:0xD92D49e8A2230E2C7a73c3ff4Df1AED09dA32a07"
]
},
{
"timestamp": 1730751274,
"transactionHash": "0x3da8ef35136e3b37f5b7ea453a773a9a22a9195d2fac287a5b30ebac420f1357",
"implementations": [
"arb1:0x8470c94a718f062156a4663ea797359E908b5836",
"arb1:0x5bc2d4D25446Fa7C51Eefe10e2FdF846bD355A5d"
]
},
{
"timestamp": 1734537691,
"transactionHash": "0xf6ba2a68694536996ab068340a4b4abc811a9d72c0ad5c2af34ccea6c7a25c88",
"implementations": [
"arb1:0x086Fe1f212A4F311f1e3027A35dE3d45dC4AFA42",
"arb1:0x107B8ff1daeEFc37c27fc794fdb0828A1B5Af262"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Caldera Multisig 1, SafeL2\n * **owner**: UpgradeExecutor; ultimately Caldera Multisig 1, SafeL2\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2e988Ea0873C9d712628F0bf38DAFdE754927C89#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xA436f1867adD490BF1530c636f2FB090758bB6B3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0xF39c8d67B55Fef4851f9267304aA1A030E0DecAC"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x1d182075d07744D71E37f77f1654165f6DAFad08"
]
},
{
"timestamp": 1730748413,
"transactionHash": "0x2def26eb81ac9d539c866215344b91b71bef86d51fb556eaf6bafd6703e68bb6",
"implementations": [
"arb1:0x305eD6932AbF2e997832C570E467320BbA1491F4"
]
},
{
"timestamp": 1734537691,
"transactionHash": "0xf6ba2a68694536996ab068340a4b4abc811a9d72c0ad5c2af34ccea6c7a25c88",
"implementations": [
"arb1:0xa8968d1dbA3F93FB7412d15F4139C0f63537e9E2"
]
},
{
"timestamp": 1738182192,
"transactionHash": "0xb59494487d444c465d61f19a4fe9830806da172e2883ae0861c155f3066592a7",
"implementations": [
"arb1:0xE2DdF957261A6d8a96A7eff29C51460707FfbBE5"
]
},
{
"timestamp": 1738289135,
"transactionHash": "0x206804ee59ae4cd1cd13fc2c92c59958f3ecfcf3f210b2d583a6816e3a4a0b10",
"implementations": [
"arb1:0x805dc3546d99AfB35EfB261b907679b67A08256e"
]
},
{
"timestamp": 1746452624,
"transactionHash": "0x4eacd17837407047b65635abdfb9d2693b58efa4040f33baca7b9d27271b0a2c",
"implementations": [
"arb1:0xF39c8d67B55Fef4851f9267304aA1A030E0DecAC"
]
},
{
"timestamp": 1747765120,
"transactionHash": "0x1ff1a74aaa6a58e0a3389de2761ed84c9051a4ffea080265aae0d62aaf9df75c",
"implementations": [
"arb1:0xF39c8d67B55Fef4851f9267304aA1A030E0DecAC"
]
}
],
"description": "The Espresso TEE sequencer (registered in this contract) can submit transaction batches or commitments here. This version of the SequencerInbox also supports commitments to data that is posted to Celestia.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2\n * **batchPosterManager**: EOA 1\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA436f1867adD490BF1530c636f2FB090758bB6B3#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0xa9064FebD91E9Ab4c49C8989926Cada18bc9C8FF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x7e4c2B3405cA7900d0f7C2DBEF3Dc127D9f3Cb9b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x935239e066F4F449D87D600e6d7c1a4F24c50f97"
]
},
{
"timestamp": 1730748413,
"transactionHash": "0x2def26eb81ac9d539c866215344b91b71bef86d51fb556eaf6bafd6703e68bb6",
"implementations": [
"arb1:0xa24eF25c521d7927c11d7Da940b4B63e0E9575C6"
]
},
{
"timestamp": 1730751274,
"transactionHash": "0x3da8ef35136e3b37f5b7ea453a773a9a22a9195d2fac287a5b30ebac420f1357",
"implementations": [
"arb1:0x7Eac96FDa155F0cE911d93D540e405e4020B082D"
]
},
{
"timestamp": 1734537691,
"transactionHash": "0xf6ba2a68694536996ab068340a4b4abc811a9d72c0ad5c2af34ccea6c7a25c88",
"implementations": [
"arb1:0xFd7A2567C6b56153f1b0D4FDbCc671d178a971fc"
]
},
{
"timestamp": 1746452624,
"transactionHash": "0x4eacd17837407047b65635abdfb9d2693b58efa4040f33baca7b9d27271b0a2c",
"implementations": [
"arb1:0x5DD914a56853Da4C6Cee07827483F532e65B6FeD"
]
},
{
"timestamp": 1747765120,
"transactionHash": "0x1ff1a74aaa6a58e0a3389de2761ed84c9051a4ffea080265aae0d62aaf9df75c",
"implementations": [
"arb1:0x7e4c2B3405cA7900d0f7C2DBEF3Dc127D9f3Cb9b"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa9064FebD91E9Ab4c49C8989926Cada18bc9C8FF#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x139C5A235632EDdad741ff380112B3161d31a21C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2\n * **executors**: Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x139C5A235632EDdad741ff380112B3161d31a21C#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x37e60F80d921dc5E7f501a7130F31f6548dBa564",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x4cA89361F5F79092822F95F34334227528ed63A8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x198792E7e60688FEeB0b89f0ABD3b85953Dd05Cd"
]
},
{
"timestamp": 1746452624,
"transactionHash": "0x4eacd17837407047b65635abdfb9d2693b58efa4040f33baca7b9d27271b0a2c",
"implementations": [
"arb1:0x6B292d1d4D38653b4F1D6De41c6be198371C5af1"
]
},
{
"timestamp": 1747765120,
"transactionHash": "0x1ff1a74aaa6a58e0a3389de2761ed84c9051a4ffea080265aae0d62aaf9df75c",
"implementations": [
"arb1:0x4cA89361F5F79092822F95F34334227528ed63A8"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x37e60F80d921dc5E7f501a7130F31f6548dBa564#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x91591BB66075BCfF94AA128B003134165C3Ab83a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x84Cf78b9573daDb2FBa3028e49e0B5F785134360"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x84Cf78b9573daDb2FBa3028e49e0B5F785134360"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x91591BB66075BCfF94AA128B003134165C3Ab83a#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x2623C144B4d167f70893f6A8968B98c89a6C5F97",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x532Ba80626DF9042353fa9509A66a25eE90fc51B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0x532Ba80626DF9042353fa9509A66a25eE90fc51B"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2623C144B4d167f70893f6A8968B98c89a6C5F97#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "arb1:0x8bE956aB42274056ef4471BEb211b33e258b7324",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8bE956aB42274056ef4471BEb211b33e258b7324#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x003e70B041abb993006C03E56c8515622a02928C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x003e70B041abb993006C03E56c8515622a02928C#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x1e5fCE58D1358aCbc3d32ac106a20B7F19C434eC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1e5fCE58D1358aCbc3d32ac106a20B7F19C434eC#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2948690217F3C2fDD6166343da8A7Ac2B7f5c134#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x2BA5cB2D332E266c43D0Ef18F879650d00630B61",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2BA5cB2D332E266c43D0Ef18F879650d00630B61#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x3A765e7a1709C19F065F098AAF2940AAA7ac0AE3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (ArbitrumBlobstream) as source of truth for the DA referenced by the fault proof.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3A765e7a1709C19F065F098AAF2940AAA7ac0AE3#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x3bC4894370dE0Aa304ed717c2e01866c46F1CEa6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x73D3a5E535cBF98B9b5Ff7fEb8EC26e61FCEC4b7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x73D3a5E535cBF98B9b5Ff7fEb8EC26e61FCEC4b7"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Caldera Multisig 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"name": "Caldera Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3bC4894370dE0Aa304ed717c2e01866c46F1CEa6#code"
},
{
"name": "QuoteVerifier",
"isVerified": true,
"address": "arb1:0x4613038C93aF8963dc9E5e46c9fb3cbc68724df1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The QuoteVerifier contract is used by the EspressoTEEVerifier to verify the validity of the TEE quote. It references a PCCSRouter (0x729E3e7542E8A6630818E9a14A67e0Cb7008a5E5), an access point for Intel SGX 'collateral', crucial references of which some modular contracts are unverified.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4613038C93aF8963dc9E5e46c9fb3cbc68724df1#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x9e83136d4B3AD04C766591EA51712F9aEa3194C0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9e83136d4B3AD04C766591EA51712F9aEa3194C0#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xb47a57a218911653d964fE8aAa1cED55A71D8043",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb47a57a218911653d964fE8aAa1cED55A71D8043#code"
},
{
"name": "EspressoTEEVerifier",
"isVerified": true,
"address": "arb1:0xEe8f0e3BC9c3965460B99D0D2DFBb05c508536fb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "The Espresso TEE verifier is used by the SequencerInbox contract to verify the batch attestations signed by the TEE.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xEe8f0e3BC9c3965460B99D0D2DFBb05c508536fb#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 3, EOA 4",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 5, EOA 6",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"ethereum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 7, EOA 8",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
]
},
"escrows": [
{
"address": "0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0",
"sinceTimestamp": 1705716145,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716145,
"transactionHash": "0xfc9b3973815b82226b0df5c0db23edf854e2ff768a745792e2c27f31b36798c2",
"implementations": [
"arb1:0x74faA20aE77FFAb036369b24066Cc5d4251900D2"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x255f80Ef2F09FCE0944faBb292b8510F01316Cf0#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6",
"sinceTimestamp": 1705716148,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0xcc6DcB3FaA2436270E696994f326426B76A9f731"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x46406c88285AD9BE2fB23D9aD96Cb578d824cAb6#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x8bE956aB42274056ef4471BEb211b33e258b7324",
"sinceTimestamp": 1705716148,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x8bE956aB42274056ef4471BEb211b33e258b7324",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x003e70B041abb993006C03E56c8515622a02928C"
],
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1705716148,
"transactionHash": "0x55f5bdbceb2bf6779c46e60ffeaaeee6e1273aa3741b1179337a62acc0b3167a",
"implementations": [
"arb1:0x0987F33E1d59ECcedbDd6356ED34F06dd7baDcF8"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting custom token on L2.",
"url": "https://arbiscan.io/address/0x8bE956aB42274056ef4471BEb211b33e258b7324#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "Celestia Nitro 3.3.2 wasmModuleRoot",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games, which uses Celestia DA.",
"programUrl": "https://github.com/celestiaorg/nitro/tree/celestia-v3.3.2/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [celestiaorg/nitro](https://github.com/celestiaorg/nitro/tree/celestia-v3.3.2) repo: `git checkout celestia-v3.3.2` . Commit hash should be `7c9d688a256cc60f2b8db9dbe9ac40511d0d1f2e`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xaf1dbdfceb871c00bfbb1675983133df04f0ed04e89647812513c091e3a982b3"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x369001149fe80892665a7b0c17fe8Db6BeFC7F5d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754"
]
},
{
"timestamp": 1730281391,
"transactionHash": "0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1730312675,
"transactionHash": "0xf18555dd5a5c4707f15cd5aa6dedd147bc01eb9212ff4d0e2751fc8ee97f8761",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x369001149fe80892665a7b0c17fe8Db6BeFC7F5d#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x39D2EEcC8B55f46aE64789E2494dE777cDDeED03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x39D2EEcC8B55f46aE64789E2494dE777cDDeED03#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x51C4a227D59E49E26Ea07D8e4E9Af163da4c87A0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1730281391,
"transactionHash": "0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **batchPosters**: EOA 10, EOA 2, EOA 5, EOA 6, EOA 7",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x51C4a227D59E49E26Ea07D8e4E9Af163da4c87A0#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xc4F7B37bE2bBbcF07373F28c61b1A259dfe49d2a",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xD6A4868a15d98b0BF4E9063BE707B4b89D067C3a"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1730312675,
"transactionHash": "0xf18555dd5a5c4707f15cd5aa6dedd147bc01eb9212ff4d0e2751fc8ee97f8761",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Gelato Multisig\n * **anyTrustFastConfirmer**: RealFastConfirmerMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately Gelato Multisig\n * **validators**: EOA 1, EOA 3, EOA 4, EOA 8, EOA 9, RealFastConfirmerMultisig; ultimately EOA 1",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4F7B37bE2bBbcF07373F28c61b1A259dfe49d2a#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0xD6A4868a15d98b0BF4E9063BE707B4b89D067C3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **executors**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD6A4868a15d98b0BF4E9063BE707B4b89D067C3a#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x8592Ca44dE1D354A20F75160F5602E5933D33761",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8592Ca44dE1D354A20F75160F5602E5933D33761#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xf538671ddd60eE54BdD6FBb0E309c491A7A2df11",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf538671ddd60eE54BdD6FBb0E309c491A7A2df11#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xfC89B875970122E24C6C5ADd4Dea139443943ea7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710845159,
"transactionHash": "0x816e110bc6a5c398f160b13e96856e756ea11282881dcb718e95efe00bd1fb7e",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xfC89B875970122E24C6C5ADd4Dea139443943ea7#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x490f337Ac108b2a555183f5b5fd2ee84a7F45a18",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710845159,
"transactionHash": "0x816e110bc6a5c398f160b13e96856e756ea11282881dcb718e95efe00bd1fb7e",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x490f337Ac108b2a555183f5b5fd2ee84a7F45a18#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "SwapManager",
"isVerified": true,
"address": "eth:0x4AC36E1Fa7daBeFEc885f30B163c571080b2c335",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Performs swaps via Curve or UniswapV3 to serve instant withdrawals from the reETH RealVault.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4AC36E1Fa7daBeFEc885f30B163c571080b2c335#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x503C5a576E2F72Ca9aD213D64bc775cbD81E0F2C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x503C5a576E2F72Ca9aD213D64bc775cbD81E0F2C#code"
},
{
"name": "StrategyManager",
"isVerified": true,
"address": "eth:0x5Cba18d504D4158dC1A18C5Dc6BB2a30B230DdD8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A gateway contract that manages strategies for assets that are deposited to the AssetsVault. From a user PoV this happens when bridging to the L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5Cba18d504D4158dC1A18C5Dc6BB2a30B230DdD8#code"
},
{
"name": "LidoStEthStrategy",
"isVerified": true,
"address": "eth:0x679D4C1cC6855C57726BEA1784F578315d6431f6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x679D4C1cC6855C57726BEA1784F578315d6431f6#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xB032ff02cd6425e4b816137207AA8560932180f1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB032ff02cd6425e4b816137207AA8560932180f1#code"
},
{
"name": "UnknownVault",
"isVerified": false,
"address": "eth:0xB24D28B8FC6881dC3d4c088eff8c88EeC65C3164",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB24D28B8FC6881dC3d4c088eff8c88EeC65C3164#code"
},
{
"name": "Bridger",
"isVerified": true,
"address": "eth:0xbf2F26cadbC10C4d61ac7e424D514d79a12126f8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xeB658c4Ea908aC4dAF9c309D8f883d6aD758b3A3"
],
"implementations": [
"eth:0x977cA9732E618D32552BA16a52f258cEFadf970a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715552075,
"transactionHash": "0xff78834db538bd6b5be8abf30e32fd3861100c0fbde76f7c11b1cd1a3a2d6c0f",
"implementations": [
"eth:0x977cA9732E618D32552BA16a52f258cEFadf970a"
]
}
],
"description": "A Routing contract to the standard orbit stack bridge of the L2.\n* Roles:\n * **admin**: EOA 11",
"upgradableBy": [
{
"id": "EOA-11",
"name": "EOA 11",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbf2F26cadbC10C4d61ac7e424D514d79a12126f8#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
},
{
"name": "AssetsVault",
"isVerified": true,
"address": "eth:0xf985E2c73d74BefF3C8c16EFC4fa5ab4cfb62294",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This escrow contract receives ETH that users bridge to Re.al L2. This ETH is then converted to yielding assets using the StrategyManager.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf985E2c73d74BefF3C8c16EFC4fa5ab4cfb62294#code"
}
]
},
"escrows": [
{
"address": "0x39D2EEcC8B55f46aE64789E2494dE777cDDeED03",
"sinceTimestamp": 1710580715,
"tokens": [],
"contract": {
"isVerified": true,
"address": "eth:0x39D2EEcC8B55f46aE64789E2494dE777cDDeED03",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710580715,
"transactionHash": "0xba3fd77d6025e002501d3e0e0a2bb7326be1d2b9d45a15a0a8f51d412783180d",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x39D2EEcC8B55f46aE64789E2494dE777cDDeED03#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xfC89B875970122E24C6C5ADd4Dea139443943ea7",
"sinceTimestamp": 1710845159,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xfC89B875970122E24C6C5ADd4Dea139443943ea7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xB032ff02cd6425e4b816137207AA8560932180f1"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710845159,
"transactionHash": "0x816e110bc6a5c398f160b13e96856e756ea11282881dcb718e95efe00bd1fb7e",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Default Gateway for non-native tokens. On depositing, a generic 'wrapped' version of the escrowed token is minted on the L2.",
"url": "https://etherscan.io/address/0xfC89B875970122E24C6C5ADd4Dea139443943ea7#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x679D4C1cC6855C57726BEA1784F578315d6431f6",
"sinceTimestamp": 1715706239,
"tokens": [
"stETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x679D4C1cC6855C57726BEA1784F578315d6431f6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract escrows the stETH that was deposited to mint reETH.",
"url": "https://etherscan.io/address/0x679D4C1cC6855C57726BEA1784F578315d6431f6#code"
},
"chain": "ethereum",
"includeInTotal": true,
"source": "custom-canonical",
"bridgedUsing": {
"bridges": [
{
"name": "Canonical + additional trust assumptions"
}
]
},
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x383c03c4EfF819E73409DbC690755a9992393814",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x383c03c4EfF819E73409DbC690755a9992393814#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x448Bbd134dE1B23976073aB4F2915849b2dcD73A",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1730312675,
"transactionHash": "0xf18555dd5a5c4707f15cd5aa6dedd147bc01eb9212ff4d0e2751fc8ee97f8761",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Gelato Multisig\n * **owner**: UpgradeExecutor; ultimately Gelato Multisig\n * **validators**: EOA 2",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x448Bbd134dE1B23976073aB4F2915849b2dcD73A#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x734B78823c4d979045EC23F38B54A070df7769FF"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x873484Ba63353C8b71210ce123B465512d408B27"
]
},
{
"timestamp": 1730281391,
"transactionHash": "0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x734B78823c4d979045EC23F38B54A070df7769FF"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6CA2A628fb690Bd431F4aA608655ce37c66aff9d#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x728B406A4809118533D96bB3b5C50712C99d8Fa5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754"
]
},
{
"timestamp": 1730281391,
"transactionHash": "0xaf5b759f18a6b1150b87e3c0e93270201a165763e4f2d42d75bec75ab7f258bf",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1730312675,
"transactionHash": "0xf18555dd5a5c4707f15cd5aa6dedd147bc01eb9212ff4d0e2751fc8ee97f8761",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x728B406A4809118533D96bB3b5C50712C99d8Fa5#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x07390626b8Bc2C04b1D93c7D246A0629198D7868",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig\n * **executors**: Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x07390626b8Bc2C04b1D93c7D246A0629198D7868#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3f373b0A7DcEe7b7bCfC16DF85CfAE18388542c9#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x672109752635177ebcb17F2C7e04575A709014BD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x672109752635177ebcb17F2C7e04575A709014BD#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
},
{
"name": "SocketVault_Reya",
"isVerified": true,
"address": "eth:0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdFf78A949E47c1e90f3Dd6dd7Fe2Fa72B42a75f7#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0xFd9f59554351122b231F832a0e0A1aBb0604D7fd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Gelato Multisig",
"upgradableBy": [
{
"name": "Gelato Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFd9f59554351122b231F832a0e0A1aBb0604D7fd#code"
}
]
},
"escrows": [
{
"address": "0x383c03c4EfF819E73409DbC690755a9992393814",
"sinceTimestamp": 1709380607,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x383c03c4EfF819E73409DbC690755a9992393814",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x74627dd54FA6E94c87F12DBAdAEc275758f51dF9"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1709380607,
"transactionHash": "0x63267f7748e36c730d68d06c10ca1a4c32b3177069f6e13fe1a7466486577c09",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x383c03c4EfF819E73409DbC690755a9992393814#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x1f269F38196484ef81e58C0144AaD2c5F6394bB4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0xDb755eded17cF955C78B70C3946351C9Dd28Eb14"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0x935239e066F4F449D87D600e6d7c1a4F24c50f97"
]
},
{
"timestamp": 1727709330,
"transactionHash": "0xf96c44f0d8e3ac8c1859088f7651eeb0209343cc8934e76706e6469f912c0617",
"implementations": [
"arb1:0x63AB51383384a09734b8B8F6646647213bdD54aC"
]
},
{
"timestamp": 1729927854,
"transactionHash": "0x77a1d7089bb6294a3db7e7666b639d5c9d3ccc96ade865bf8c746bbb6d50aa18",
"implementations": [
"arb1:0xDb755eded17cF955C78B70C3946351C9Dd28Eb14"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1f269F38196484ef81e58C0144AaD2c5F6394bB4#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x24B68936C13A414cd91437aE7AA730321B9ff159",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0xd92c3354E5b39d8d91436b3B9C231136853613C6"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0x1d182075d07744D71E37f77f1654165f6DAFad08"
]
},
{
"timestamp": 1727709330,
"transactionHash": "0xf96c44f0d8e3ac8c1859088f7651eeb0209343cc8934e76706e6469f912c0617",
"implementations": [
"arb1:0x083c2b4D0C745224E8E484Dfd41eDC9b19f21Feb"
]
},
{
"timestamp": 1746115676,
"transactionHash": "0x2905ae902bdcfbe4ecf21506964f3951851f5cbafc936ced237d47de7621bfa4",
"implementations": [
"arb1:0xd92c3354E5b39d8d91436b3B9C231136853613C6"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig\n * **batchPosters**: EOA 1",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x24B68936C13A414cd91437aE7AA730321B9ff159#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x2f285781B8d58678a3483de52D618198E4d27532",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0x1D45D50FcC5b04B18D4560017945ABf6F3bdC0d1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0xC5Db571093C4600559e239497d147476F7543b15"
]
},
{
"timestamp": 1745313170,
"transactionHash": "0x9b5789587c761c3bc4f69e37ae95cd838b66fbd89deb283bcb1ecbc1a644273c",
"implementations": [
"arb1:0x1D45D50FcC5b04B18D4560017945ABf6F3bdC0d1"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2f285781B8d58678a3483de52D618198E4d27532#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x9A59EdF7080fdA05396373a85DdBf2cEBDB81Cd4",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x82d980E3f30E7c6EbD523AEdff2c0FaD3751b276"
],
"implementations": [
"arb1:0x6Ce4A63204E00F0942Bce9E104b2f5A5d61921Dd",
"arb1:0xD935Ea1fc0Db18851C402D75ABF67E1f3dd75594"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0xc326D023758d7D212d529D1E58D7f271CAe49fcf",
"arb1:0xD92D49e8A2230E2C7a73c3ff4Df1AED09dA32a07"
]
},
{
"timestamp": 1729927854,
"transactionHash": "0x77a1d7089bb6294a3db7e7666b639d5c9d3ccc96ade865bf8c746bbb6d50aa18",
"implementations": [
"arb1:0x6Ce4A63204E00F0942Bce9E104b2f5A5d61921Dd",
"arb1:0xD935Ea1fc0Db18851C402D75ABF67E1f3dd75594"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Sanko Multisig\n * **owner**: UpgradeExecutor; ultimately Sanko Multisig\n * **validators**: EOA 2, EOA 3, EOA 4",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9A59EdF7080fdA05396373a85DdBf2cEBDB81Cd4#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x82d980E3f30E7c6EbD523AEdff2c0FaD3751b276",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0x20C6be2A0429A82a7bF113905a29d36CF6753B10"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig\n * **executors**: Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x82d980E3f30E7c6EbD523AEdff2c0FaD3751b276#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x575d32f7ff0C72921645e302cb14d2757E300786",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0xCa2F31F3C6553c2FD9897f7AA464406a431959A9"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0xCa2F31F3C6553c2FD9897f7AA464406a431959A9"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x575d32f7ff0C72921645e302cb14d2757E300786#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x718E2a83775343d5c0B1eE0676703cBAF30CaFCD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0x0c347206657A73D6793bd1217D784F4A48921115"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0x2675b9DEb473ECaC13ddd71dF8A0Ef13FeF6a75D"
]
},
{
"timestamp": 1746115676,
"transactionHash": "0x2905ae902bdcfbe4ecf21506964f3951851f5cbafc936ced237d47de7621bfa4",
"implementations": [
"arb1:0x0c347206657A73D6793bd1217D784F4A48921115"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x718E2a83775343d5c0B1eE0676703cBAF30CaFCD#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0xb4951c0C41CFceB0D195A95FE66280457A80a990",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0xF5CE2B2a046f5C5440506F76d512375fdB301BCa"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958611,
"transactionHash": "0x7d22d1fe49e2855ccea3f64913e4a936873f772c2988fadae392ca89a798e1bf",
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
},
{
"timestamp": 1714095632,
"transactionHash": "0x16970bf621ae80ecb8e0d68b76909e83a2e2b2c1879d89dcec601ab9f24f05a1",
"implementations": [
"arb1:0xF5CE2B2a046f5C5440506F76d512375fdB301BCa"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb4951c0C41CFceB0D195A95FE66280457A80a990#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x847186fbeEBf41eEe9c230360D0bF8585c0Db57B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0x922db00d292477AD99Ef8A0c41101a664Ee79D2b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958611,
"transactionHash": "0x7d22d1fe49e2855ccea3f64913e4a936873f772c2988fadae392ca89a798e1bf",
"implementations": [
"arb1:0x922db00d292477AD99Ef8A0c41101a664Ee79D2b"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x847186fbeEBf41eEe9c230360D0bF8585c0Db57B#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0x29E1631710Fa96920eB2F65EaD4B1F270daB59cB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x29E1631710Fa96920eB2F65EaD4B1F270daB59cB#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x2D81591AfB19e1a1C1c932303790370c7257f454",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2D81591AfB19e1a1C1c932303790370c7257f454#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x365ce7234CE515c2e0139f3578b6c5989da1a863",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0xf2bCB26dbb571EBC82CFAe6453AeF0DE90d93421"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0xf2bCB26dbb571EBC82CFAe6453AeF0DE90d93421"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Sanko Multisig",
"upgradableBy": [
{
"name": "Sanko Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x365ce7234CE515c2e0139f3578b6c5989da1a863#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x5C864714456935f05cd74D78CFE05Bcc726CddEe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5C864714456935f05cd74D78CFE05Bcc726CddEe#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x5D1E3dC946fC8F2DD6C96C018e5a120CC2b76368",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5D1E3dC946fC8F2DD6C96C018e5a120CC2b76368#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x9e83136d4B3AD04C766591EA51712F9aEa3194C0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9e83136d4B3AD04C766591EA51712F9aEa3194C0#code"
},
{
"name": "OrbitProxyOFT1_2",
"isVerified": true,
"address": "arb1:0xa9Aa07F082D9c15D0B6D7e9e5B68b1f898399C29",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "OFT Adapter contract using the LayerZero v1 AMB for messaging. This contract can mint tokens on Sanko and steal tokens from the canonical bridge escrow. Its security depends on LayerZero v1 security.\n* Roles:\n * **owner**: SankoOftMultisig",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa9Aa07F082D9c15D0B6D7e9e5B68b1f898399C29#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd18b1C6376633000c85541F7c15c591Ffe5f9556#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0xE13987CcaFD999397021222630DEC78BaAa9fE15",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE13987CcaFD999397021222630DEC78BaAa9fE15#code"
}
]
},
"escrows": [
{
"address": "0x2f285781B8d58678a3483de52D618198E4d27532",
"sinceTimestamp": 1712958598,
"tokens": [
"DMT"
],
"contract": {
"isVerified": true,
"address": "arb1:0x2f285781B8d58678a3483de52D618198E4d27532",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0x1D45D50FcC5b04B18D4560017945ABf6F3bdC0d1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958598,
"transactionHash": "0x0d61063cc83825eb0ef98a007195e26311a83915486dbc7bd044b93f660db5da",
"implementations": [
"arb1:0xC5Db571093C4600559e239497d147476F7543b15"
]
},
{
"timestamp": 1745313170,
"transactionHash": "0x9b5789587c761c3bc4f69e37ae95cd838b66fbd89deb283bcb1ecbc1a644273c",
"implementations": [
"arb1:0x1D45D50FcC5b04B18D4560017945ABf6F3bdC0d1"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows DMT sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x2f285781B8d58678a3483de52D618198E4d27532#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0xb4951c0C41CFceB0D195A95FE66280457A80a990",
"sinceTimestamp": 1712958611,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0xb4951c0C41CFceB0D195A95FE66280457A80a990",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd18b1C6376633000c85541F7c15c591Ffe5f9556"
],
"implementations": [
"arb1:0xF5CE2B2a046f5C5440506F76d512375fdB301BCa"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712958611,
"transactionHash": "0x7d22d1fe49e2855ccea3f64913e4a936873f772c2988fadae392ca89a798e1bf",
"implementations": [
"arb1:0x652F65f950b71d7aD04AffB1725F43786ed5f6Cc"
]
},
{
"timestamp": 1714095632,
"transactionHash": "0x16970bf621ae80ecb8e0d68b76909e83a2e2b2c1879d89dcec601ab9f24f05a1",
"implementations": [
"arb1:0xF5CE2B2a046f5C5440506F76d512375fdB301BCa"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0xb4951c0C41CFceB0D195A95FE66280457A80a990#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v32",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v32/arbos",
"verificationStatus": "successful",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v32` . Commit hash should be `ce7d035d21a74c080c31eeb35f6e8c1089332f85`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. To fix build errors, add this to `contracts/foundry.toml`: \n```\n[profile.yul.lint]\nlint_on_build = false\n```\nAlso replace line 98 of Dockerfile with `cargo install --force --locked cbindgen --version \"=0.26.0\"` and line 46 with `RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain 1.75.0 --target x86_64-unknown-linux-gnu --target wasm32-unknown-unknown --target wasm32-wasi`.\n\n5. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n6. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the security stack of the whitelisted LayerZero adapter changes or is compromised.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+49 -49
+2 -1
{
"redWarning": {
"text": "Critical contract references can be changed by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": []
"unverifiedContracts": [],
"yellowWarning": "Sorare froze its StarkEx rollup on June 1st, 2026. The core rollup contract is currently frozen."
}
+15 -2
[
{
"address": "0xF5C9F957705bea56a7e806943f98F7777B995826",
"sinceTimestamp": 1626352527,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1777376531,
"transactionHash": "0x8133c660c29139f3afcfa0d694829a8e16d5473e74704be6b0aa06869cf329d8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1780222979,
"transactionHash": "0xfd3455fd60677c360679dc601a13283ad26f7f618c9c67db9a52b9d7d42d5014",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+0 -25
{
"ethereum": {
"roles": [
{
"id": "Operator",
"name": "Operator",
"description": "Permissioned to regularly update the state roots of the L2 on L1. Each state update must have been proven via the SHARP verifier and contains commitments to the data that is itself kept offchain.",
"accounts": [
{
"address": "eth:0x3DE55343499f59CEB3f1dE47F2Cd7Eab28F2F5C6",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2-and-EOA-3"
},
{
"address": "eth:0x63881ac44293E22F3c3183a0C4113586ABb3e653",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-2-and-EOA-3"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Governor",
"name": "Governor",
"description": "Permissioned to manage the Operator role, finalize state and change critical parameters like the programHash, configHash, or message cancellation delay in the core contract.",
"accounts": [
{
"address": "eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B",
"type": "Contract",
"isVerified": true,
"name": "SorareAdminMultisig",
"url": "#SorareAdminMultisig"
},
{
"address": "eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "SorareAdminMultisig",
"name": "SorareAdminMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * StarkExchange \n* Can interact with StarkExchange\n * manage the token admin role \n* A Governor - acting directly",
"accounts": [
{
"address": "eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B",
"type": "Contract",
"isVerified": true,
"name": "0xCc92…fD2B",
"url": "https://etherscan.io/address/0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0405107a60391Eb51821be373ff978115Ee58488",
"type": "EOA",
"isVerified": true,
"name": "0x0405…8488",
"url": "https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488"
},
{
"address": "eth:0xaDB26E60FA6e326B9Ee444D886B4B62EC7FA38fc",
"type": "EOA",
"isVerified": true,
"name": "0xaDB2…38fc",
"url": "https://etherscan.io/address/0xaDB26E60FA6e326B9Ee444D886B4B62EC7FA38fc"
},
{
"address": "eth:0x59232aC80E6d403b6381393e52f4665ECA328558",
"type": "EOA",
"isVerified": true,
"name": "0x5923…8558",
"url": "https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558"
}
],
"discoveryDrivenData": true
},
{
"id": "SHARP Multisig",
"name": "SHARP Multisig",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with 8d delay**\n * SHARPVerifierCallProxy [via: - acting directly with 8d delay]\n* Can interact with SHARPVerifierCallProxy\n * manage the upgrade admin amd access control roles \n * set custom implementations for specific operators (changes the verifier based on who calls it) ",
"accounts": [
{
"address": "eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4",
"type": "Contract",
"isVerified": true,
"name": "0x21F9…AEc4",
"url": "https://etherscan.io/address/0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0405107a60391Eb51821be373ff978115Ee58488",
"type": "EOA",
"isVerified": true,
"name": "0x0405…8488",
"url": "https://etherscan.io/address/0x0405107a60391Eb51821be373ff978115Ee58488"
},
{
"address": "eth:0x59232aC80E6d403b6381393e52f4665ECA328558",
"type": "EOA",
"isVerified": true,
"name": "0x5923…8558",
"url": "https://etherscan.io/address/0x59232aC80E6d403b6381393e52f4665ECA328558"
},
{
"address": "eth:0xebc8416179fE90854fe8B3f774801165572cfD7F",
"type": "EOA",
"isVerified": true,
"name": "0xebc8…fD7F",
"url": "https://etherscan.io/address/0xebc8416179fE90854fe8B3f774801165572cfD7F"
},
{
"address": "eth:0x955B978F3ee7818dA71fA25c676062E6BC462Fec",
"type": "EOA",
"isVerified": true,
"name": "0x955B…2Fec",
"url": "https://etherscan.io/address/0x955B978F3ee7818dA71fA25c676062E6BC462Fec"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"type": "EOA",
"isVerified": true,
"name": "0x5918…5de4",
"url": "https://etherscan.io/address/0x5918481F777dBe437De249492B90AffB4e655de4",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * StarkExchange \n* Can interact with StarkExchange\n * manage the token admin role \n* A Governor - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2-and-EOA-3",
"name": "EOA 2 and EOA 3",
"accounts": [
{
"address": "eth:0x3DE55343499f59CEB3f1dE47F2Cd7Eab28F2F5C6",
"type": "EOA",
"isVerified": true,
"name": "0x3DE5…F5C6",
"url": "https://etherscan.io/address/0x3DE55343499f59CEB3f1dE47F2Cd7Eab28F2F5C6",
"displayName": "EOA 2"
},
{
"address": "eth:0x63881ac44293E22F3c3183a0C4113586ABb3e653",
"type": "EOA",
"isVerified": true,
"name": "0x6388…e653",
"url": "https://etherscan.io/address/0x63881ac44293E22F3c3183a0C4113586ABb3e653",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* An Operator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-4-and-EOA-5",
"name": "EOA 4 and EOA 5",
"accounts": [
{
"address": "eth:0x7F6d06eCd94bD899872cd2768e41B7d33EC13e19",
"type": "EOA",
"isVerified": true,
"name": "0x7F6d…3e19",
"url": "https://etherscan.io/address/0x7F6d06eCd94bD899872cd2768e41B7d33EC13e19",
"displayName": "EOA 4"
},
{
"address": "eth:0xA5dAd8339d9279c2F16d02F2e903AB4B79a72815",
"type": "EOA",
"isVerified": true,
"name": "0xA5dA…2815",
"url": "https://etherscan.io/address/0xA5dAd8339d9279c2F16d02F2e903AB4B79a72815",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* Can interact with StarkExchange\n * Can regsiter new tokens for deposits and withdrawals ",
"discoveryDrivenData": true
}
]
}
}
+31 -20
{
"addresses": {
"ethereum": [
{
"name": "DACommittee",
"isVerified": true,
"address": "eth:0x879cD57975d596004863D30c59d579ef78BBbe32",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Data Availability Committee (DAC) contract verifying and storing data availability claims from DAC Members (via a multisignature check). The threshold of valid signatures is 2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x879cD57975d596004863D30c59d579ef78BBbe32#code"
},
{
"name": "StarkExchange",
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1777376531,
"transactionHash": "0x8133c660c29139f3afcfa0d694829a8e16d5473e74704be6b0aa06869cf329d8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1780222979,
"transactionHash": "0xfd3455fd60677c360679dc601a13283ad26f7f618c9c67db9a52b9d7d42d5014",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1, SorareAdminMultisig\n * **operators**: EOA 2, EOA 3\n * **tokenAdmins**: EOA 4, EOA 5",
"description": "Central Validium contract. Receives (verified) state roots from the Operator, allows users to consume L2 -> L1 messages and send L1 -> L2 messages. Critical configuration values for the L2's logic are defined here by various governance roles.\n* Roles:\n * **admin**: EOA 1, SorareAdminMultisig\n * **operators**: EOA 2, EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "SorareAdminMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#code"
},
{
"name": "SHARPVerifierCallProxy",
"isVerified": true,
"address": "eth:0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60",
"upgradeability": {
"proxyType": "StarkWare proxy",
"admins": [
"eth:0x21F9eC47b19d95b5C2DDFB6Ae5D4F92fAdacAEc4"
],
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1635080785,
"transactionHash": "0x80ebb7a22a207d00e26464db2f8a719d43eb3b836740a693aad13d5ef922f5e4",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1651510161,
"transactionHash": "0x604e235c6207b7909f6fc8dc0bd86b410e935dcf2f6f6bd37a5567a89379353a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1659869409,
"transactionHash": "0xc31b74237a0c68aa1b95fe2ed28ad54cf6d7df42a8beab1ea947532c95dda20a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1678106063,
"transactionHash": "0xbaa8ffb1b7e5177dbf75de753b9b2ff2fc313b244ff910cfd6d7f1f6254b6e1a",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1708939523,
"transactionHash": "0x31e3caf3940dde662a1e98580259f79963dc5e098793b6519311e201d4e19312",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722161267,
"transactionHash": "0x7c71592ea4c455371365d843f1a21bbf647aad7d6fae12f7187650ce24805f00",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1722197315,
"transactionHash": "0x4b25445a8e86b4620b9a19f747122b518d8973975ea73aa474b210395e277b66",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1747066175,
"transactionHash": "0x0764cd09cc5c9a96b151dd222bf14b9c33111c80bdddf27721a6406f4c0e1f3f",
"implementations": [
"eth:0xD4C4044ACa68ebBcB81B13cC2699e1Bca2d3F458"
]
},
{
"timestamp": 1760862467,
"transactionHash": "0x7b4a25af246b28b6d5bed86942696273a84e57abc629b83072be370df2bdb797",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1765192091,
"transactionHash": "0xed93cf713d33ac63297d8c7e2eafc0d9f277b718b4074600536eb9a4205bcb81",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1769954759,
"transactionHash": "0x257cfdefacd18f0c221b1e486ee002cb974d14bb292884dfaf7f5aa987cc7170",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
},
{
"timestamp": 1777465247,
"transactionHash": "0xf088946bc461774cf86ce348fcee4d52bb27ebf049d99f3fab806226053b0d5b",
"implementations": [
"eth:0x3597c5CBCbCB30079a0bD2A68cDE5f98272f9feb"
]
}
],
"description": "Upgradable call proxy contract through which the SHARPVerifier can be called. A call proxy does not delegatecall and the storage context remains at the target contract. It allows SHARP Multisig to change the otherwise immutable verifier contract with 8d delay.\n* Roles:\n * **admin**: SHARP Multisig\n * **appGovernor**: SHARP Multisig\n * **governanceAdmin**: SHARP Multisig",
"upgradableBy": [
{
"name": "SHARP Multisig",
"delay": "8d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47312450B3Ac8b5b8e247a6bB6d523e7605bDb60#code"
},
{
"name": "SHARPVerifier_2026_13",
"isVerified": true,
"address": "eth:0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5C1Ce45534A9c5f7F3E6683Cd79a8ad57EE3a9fe#code"
},
{
"name": "SHARPVerifier",
"isVerified": true,
"address": "eth:0x7Da1225C752ab37E610a242D9D8a0548262E3fF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Shared Starkware SHARP verifier used collectively by Starknet and other SN stack and StarkEx projects. It receives STARK proofs from the Prover and verifies the integrity of the offchain execution including a correctly computed state root which is part of the Program Output.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Da1225C752ab37E610a242D9D8a0548262E3fF7#code"
},
{
"name": "OrderRegistry",
"isVerified": true,
"address": "eth:0x518c4A79a1102eEDc987005CA8cE6B87Ca14dDf8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Helper contract for registering limit orders from L1.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x518c4A79a1102eEDc987005CA8cE6B87Ca14dDf8#code"
},
{
"name": "GpsFactRegistryAdapter",
"isVerified": true,
"address": "eth:0xbcc17446B99465fF01E6816d9bcb2d8b1D7cEdB1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter between the core contract and the SHARPVerifierCallProxy. Stores the Cairo programHash (`3174901404014912024702042974619036870715605532092680335571201877913899936957`).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbcc17446B99465fF01E6816d9bcb2d8b1D7cEdB1#code"
},
{
"name": "CairoBootloaderProgram",
"isVerified": true,
"address": "eth:0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x24105e6697AdD9B4B1BDE04079a91BDFCCa24A47#code"
},
{
"name": "MemoryPageFactRegistry",
"isVerified": true,
"address": "eth:0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Auxiliary to the SHARPVerifier contract: Verified 'memory fact pages' get stored here. This is important as it registers all necessary onchain data produced by the verifier.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe583BcDE0160b637330b27a3ea1F3c02ba2eC460#code"
}
]
},
"escrows": [
{
"address": "0xF5C9F957705bea56a7e806943f98F7777B995826",
"sinceTimestamp": 1626352527,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xF5C9F957705bea56a7e806943f98F7777B995826",
"upgradeability": {
"proxyType": "StarkWare diamond",
"admins": [
"eth:0x5918481F777dBe437De249492B90AffB4e655de4",
"eth:0xCc928977e4a75d25099e7DA7B6Fd79Dac2f9fD2B"
],
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1626352527,
"transactionHash": "0xe2ec50ba9067943e14a3c85524aba01510bcdb20170a83b1e2835dd5f701774d",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630837744,
"transactionHash": "0x9285c2e269ca580e3c078f6e7aa2f4e87c367a34ed2d51c81fa2dbf96fabd25e",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1630878966,
"transactionHash": "0x142bdcaf57cdb74a2828011c3b5d066b9ef73210eca9538c43cb27e70c16e6af",
"implementations": [
"eth:0xB8563AD5aF1F79dd04937BE8B572318c8e6f43AC",
"eth:0xF65C115efd24102315Af53f84aD65aD240bc9D57",
"eth:0x97AA9658cfE27D6382b71FF9E72d773615Bd529E",
"eth:0x86d8f977C9cEC503ad4E6805802cEf62Cde13773",
"eth:0x0D7c8d7A16c7832869d8FeEf02730238CdFe083A",
"eth:0x2D542881E93491e765E5110c1e373FC2968E720A",
"eth:0x970d1Fa79c64b256ef68bBFEab34137786811C7F"
]
},
{
"timestamp": 1638800056,
"transactionHash": "0x0beae1d64f579787e365d3a33dfe2d88b2e5bc10df71c8c411d8e5ea9c268401",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1639907881,
"transactionHash": "0xcd456864796a62ff92d2edd58c10165b4a90d29539f16696ba96f3fd87de7960",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1641414843,
"transactionHash": "0x823a4f9509effa14b4560117a1bae7348d352f1a6cde174aa8117af85aa238ba",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1662676717,
"transactionHash": "0x1f43e53b394f1fa8ea3c70d941c07ede120baecc024aff03b39b401977a83814",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678700423,
"transactionHash": "0x1e3c7e7455b03587bf7358f91df9c0180a46fdca04e7319e92cd7be93006da90",
"implementations": [
"eth:0x4EDD62189732e9fF476ABa880b48c29432A7AC9B",
"eth:0x62BCA4DB742A99c834e2c24b609656A70EA25379",
"eth:0x8536850750956c2FEebeCAB786d82271a5467687",
"eth:0x1c3A4EfF75a287Fe6249CAb49606FA25659929A2",
"eth:0x3799ad2a4Eb4E882219B02C036656d4ECbD437A1",
"eth:0x1688abB0B5c72F34B7f78e857Aa317deD5B5D339",
"eth:0xB3788a88F063B217227E27ae16Ba550db3132bE6"
]
},
{
"timestamp": 1678705595,
"transactionHash": "0x451e60d8e7c176588763097ad90ac39b74379fa15b66a9e82b17c8876e726c9b",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1678881347,
"transactionHash": "0x20e32fd5434e9ff5fb030bd6a42d62a0827d0692600cb084f294bf9534e764b0",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1681028015,
"transactionHash": "0xc8cd48c9ba8aeff7d0832707ffd07829cfa03e32108f69184b12d3f4dfce9506",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1777376531,
"transactionHash": "0x8133c660c29139f3afcfa0d694829a8e16d5473e74704be6b0aa06869cf329d8",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xfbea22FeB369DB10C0d3a2aAa8F4939E76815f12",
"eth:0x2Dbc18A3ac126abE1fF90A83Bbc3947ff7912Afb",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
},
{
"timestamp": 1780222979,
"transactionHash": "0xfd3455fd60677c360679dc601a13283ad26f7f618c9c67db9a52b9d7d42d5014",
"implementations": [
"eth:0xdF2f24751F7e84ccDCD39e7b49904FAB0Fb0f583",
"eth:0xA67821bC089B4374e8D62475526E7e84f09Da086",
"eth:0xb97394B55b4807a835619EDbCC6aF6b1d3C71e98",
"eth:0x67e198743BC19fa4757720eDd0e769f8291e1F1D",
"eth:0x613ee54C54D5548627064B4D648942bF3648f376",
"eth:0xb2ED005D0278179001a49a9969BB22BA8e98f31F",
"eth:0xB5353268d8d4D711a92cb838F8fEDFC2A66E50Db"
]
}
],
"url": "https://etherscan.io/address/0xF5C9F957705bea56a7e806943f98F7777B995826#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "StarkEx program Spot v4.0",
"description": "Cairo program that implements an application-specific L2 with spot and perpetual trading functionality.",
"proverSystemProject": "stone",
"verificationStatus": "notVerified",
"hash": "3174901404014912024702042974619036870715605532092680335571201877913899936957"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"hash": "3442855748187296636739564186904728563385971901122957091055928358173521721079"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "notVerified",
"hash": "2358844945297786488640123814540854423585455959362109345448922524567546993330"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "37889379279861089970868356983774360253508326951064758033885675883862334778"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2026_13",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/56407b69f3f19f69302a8623baa8c5f71f967eed/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout 56407b69f3f19f69302a8623baa8c5f71f967eed\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/56407b69f3f19f69302a8623baa8c5f71f967eed/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "989994135429182905628199499137734285064642484443466268071170571058909750176"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_12",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3480185788024326007166778030599498673382667448173974782477620863541158415714"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3035974089339935040143966034750116008615662951603253398063766337728525196711"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2025_11",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"verificationStatus": "unsuccessful",
"verificationSteps": "We were not able to identify the sources of this program.",
"hash": "3585039955034622347908243360088523999417661979601115750324841620224559981237"
},
{
"title": "Simple bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that can sequentially run multiple programs to reduce the size of the public inputs, and recursively verify bootloader proofs.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/simple_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "160268921359133235574810995023520895391777547407923205700393332203861498631"
},
{
"title": "Applicative bootloader Cairo program StarkWare_GpsStatementVerifier_2024_10",
"description": "Cairo program that verifies the correct aggregation of several proofs of a base program.",
"proverSystemProject": "stwo",
"programUrl": "https://github.com/starkware-libs/cairo-lang/tree/v0.13.5/src/starkware/cairo/bootloaders/applicative_bootloader",
"verificationStatus": "successful",
"verificationSteps": "\nThe steps below are supposed to be run on linux OS. They could also be run on macOS, but several tweaks need to be made: update from `lru-dict==1.1.8` to `lru-dict==1.3.0` in `scripts/requirements.txt` and update `python_interpreter` in `bazel_utils/python/stub.sh` to the correct location.\n\n1. Install [bazel](https://bazel.build) version 7.4.1 and `gmp` library using [brew](https://brew.sh):\n```\nbrew install bazelisk\nUSE_BAZEL_VERSION=7.4.1 bazelisk version\nbrew install gmp # or sudo apt-get install libgmp-dev\n```\n\n2. On linux, install JDK if you don't have it: `sudo apt install openjdk-21-jre`.\n\n3. Check out the correct commit of repo:\n```\ngit clone https://github.com/starkware-libs/cairo-lang.git\ncd cairo-lang\ngit checkout v0.13.5\n```\n\n4. Update `cairo-lang/src/starkware/cairo/bootloaders/BUILD` file by appending [this snippet](/files/starkware_proghash_artifacts/v0.13.5/BUILD_ADDITION) at the end.\n5. Copy [this hash_bootloaders.py script](/files/starkware_proghash_artifacts/v0.13.5/hash_bootloaders.py) that computes bootloader hashes into `cairo-lang/src/starkware/cairo/bootloaders/`.\n6. Execute the script above by `USE_BAZEL_VERSION=7.4.1 bazel run //src/starkware/cairo/bootloaders:cairo_hash_bootloaders_exe`. The output of the script should contain the correct hash.\n ",
"hash": "1104316318711847786071125527957082259001554753246760931396914052122269757907"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x9fb7F48dCB26b7bFA4e580b2dEFf637B13751942"
]
}
+1 -1
{
"baseTimestamp": 1777891517,
"baseTimestamp": 1780646255,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
+14 -0
{
"creator": "Succinct",
"projectsForTvs": [
{
"projectId": "fluent",
"sinceTimestamp": 1776599267
},
{
"projectId": "celo",
"sinceTimestamp": 1771445567
},
{
"projectId": "vector",
"sinceTimestamp": 1771445567
},
{
"projectId": "sophon",
"sinceTimestamp": 1771445567
},
{
"projectId": "lens",
"sinceTimestamp": 1771445567
},
{
"projectId": "galxegravity",
"sinceTimestamp": 1771445567,
"untilTimestamp": 1763420400
},
{
"projectId": "rari",
"sinceTimestamp": 1771445567
},
{
"projectId": "blobstream",
"sinceTimestamp": 1771445567
},
{
"projectId": "molten",
"sinceTimestamp": 1771445567
},
{
"projectId": "winr",
"sinceTimestamp": 1771445567
},
{
"projectId": "phala",
"sinceTimestamp": 1771445567
},
{
"projectId": "kroma",
"sinceTimestamp": 1771445567
},
{
"projectId": "taiko",
"sinceTimestamp": 1774964687
},
{
"projectId": "mantle",
"sinceTimestamp": 1778001356
},
{
"projectId": "morph",
"sinceTimestamp": 1779354407
},
{
"projectId": "base",
"sinceTimestamp": 1779825599
},
{
"projectId": "appchain",
"sinceTimestamp": 1780326419
},
{
"projectId": "apechain",
"sinceTimestamp": 1780346337
}
],
"proofSystemInfo": "\n## Description\n\nSP1 Hypercube is the latest Succint's RISC-V zkVM using the [Plonky3](https://github.com/Plonky3/Plonky3) stack. The zkVM execution is proven recursively and is wrapped into a SNARK for final verification. It provides tools to generate onchain Groth16 or Plonk verifiers. SP1 Hypercube provides 98 bits of proven security, as per [Ethereum Foundation’s soundcalc evaluation](https://github.com/ethereum/soundcalc/blob/main/reports/sp1.md).\n\n## Proof system\n\nSP1 Hypercube is an iteration of the previous zkVM version, SP1 Turbo, introducing architectural changes that improve prover performance and memory efficiency.\n\nHypercube proves execution of a 64-bit RISC-V VM using several ZK circuits, or chips, connected by lookup arguments ([LogUp based on GKR protocol](https://docs.succinct.xyz/docs/sp1/hypercube/logupgkr)). VM execution trace is split into several shards of size approximately 2^22, that could be proven in parallel with a STARK proving system. Additional arguments prove memory consistency across shards. \n\nThe parallelized proofs are recursively checked by the next layer of STARK circuits. The correctness of the final STARK proof is verified with the final wrap SNARK program, the wrap SNARK proof is verified onchain.\n\n### Hypercube vs. Turbo\n\nProving time and memory optimizations of SP1 Hypercube are based on several design improvements compared to SP1 Turbo.\n\nHypercube implements a [multilinear polynomial](https://github.com/succinctlabs/sp1/tree/v6.0.0/slop/crates/multilinear) STARK compared to univariate polynomials in Turbo. Multilinear polynomial based proving systems are more efficient than univariate because manipulating them reduces usage of log-linear FFT algorithm.\n\nMultilinear polynomials also allow Hypercube to innovate on a polynomial commitment scheme, implementing [Jagged PCS](https://docs.succinct.xyz/docs/sp1/hypercube/jagged) (defined in [this preprint](https://eprint.iacr.org/2025/917)). Jagged PCS allows efficient packing of computation traces of zkVM chips with different lengths, optimizing the prover memory requirement. More efficient LogUp based on GKR is also made possible because of multilinear polynomials.\n\n### Recursion circuits\n\nSP1 Hypercube provides tools for recursive proof generation by [verifying proofs in a zkVM](https://docs.succinct.xyz/docs/sp1/writing-programs/proof-aggregation#verifying-proofs-inside-the-zkvm). This uses the same toolkit as top-level proof system, but proves the correct verification of all proofs generated on the previous step.\n\nFirst, proofs for correctness of separate shards are generated. These shards may have different trace shape, so in the next step they are normalized. Finally, normalized shard proofs are recursively compressed in batches of 3-4 to a single zkVM proof. For further details see [this page](https://docs.succinct.xyz/docs/sp1/hypercube/recursion).\n\n### Final wrap\n\nSP1 Hypercube supports Plonk (with KZG polynomial commitments) or Groth16 final SNARK wrap of the STARK proof for performant onchain proof verification ([link](https://docs.succinct.xyz/docs/sp1/generating-proofs/proof-types#compressed)). The implementation of these proof systems over BN254 curve is used. For Plonk, Aztec Ignition trusted setup ceremony is used, for Groth16 Succinct run internal circuit-dependent phase 2 trusted setup (todo: link to trusted setups section).\n \n ",
"techStack": {
"zkVM": [
{
"id": "Plonky3",
"type": "STARK",
"name": "Plonky3",
"description": "Toolkit that implements a set of primitives for STARK-based zkVMs developed by Polygon Zero team."
},
{
"id": "RISCV64",
"type": "ISA",
"name": "RISC-V 64bit",
"description": "Free and open-source universal 64-bit ISA used across a variety of hardware and software."
},
{
"id": "BabyBear",
"type": "Field",
"name": "Baby Bear",
"description": "Prime field of order p = 15 * 2**27 + 1."
},
{
"id": "KoalaBear",
"type": "Field",
"name": "Koala Bear",
"description": "Prime field of order p = 2**31 - 2**24 + 1."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "SP1_v6_0_0",
"type": "Groth16",
"name": "SP1 v6.0.0",
"description": "Succinct's Groth16 final wrap circuit for SP1 zkVM v6.0.0"
},
{
"id": "SP1_v6_1_0",
"type": "Groth16",
"name": "SP1 v6.1.0",
"description": "Succinct's Groth16 final wrap circuit for SP1 zkVM v6.1.0"
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "SP1_v6_1_0",
"type": "Groth16",
"name": "SP1 v6.1.0",
"description": "Succinct's Groth16 final wrap circuit for SP1 zkVM v6.1.0"
},
"id": "SP1HypercubeGroth16_v6_1_0",
"name": "SP1 Hypercube v6.1.0 Groth16 circuit-specific setup",
"risk": "red",
"shortDescription": "Trusted setup ceremony for SP1 Hypercube (release v6.0.0) Groth16 final wrap circuits. Ceremony was organized by Succinct and includes 18 participants from 8 different organizations, without public calls to participate.",
"longDescription": "\nCeremony was run among 18 participants affiliated with Etherealize, Polygon, OP Labs, Alpen Labs, Offchain Labs, Succinct, Coinbase, Across Protocol. It generated circuit-specific setup parameters for Groth16 wrapper of SP1 Hypercube zkVM.\n\n- Ceremony info on Succinct docs page: .\n- Ceremony instructions and verification instructions: [https://github.com/succinctlabs/semaphore-gnark-11/tree/main](https://github.com/succinctlabs/semaphore-gnark-11/tree/main).\n- Link to transcript and other artifacts (Note: will immediately start downloading .tar.gz file): .\n "
},
{
"proofSystem": {
"id": "SP1_v6_0_0",
"type": "Groth16",
"name": "SP1 v6.0.0",
"description": "Succinct's Groth16 final wrap circuit for SP1 zkVM v6.0.0"
},
"id": "SP1HypercubeGroth16",
"name": "SP1 Hypercube Groth16 circuit-specific setup",
"risk": "red",
"shortDescription": "Trusted setup ceremony for SP1 Hypercube (release v6.0.0) Groth16 final wrap circuits. Ceremony was organized by Succinct and includes 12 participants from 7 different organizations, without public calls to participate.",
"longDescription": "\nCeremony was run among 12 participants affiliated with Across Protocol, OP Labs, Offchain Labs, Succinct Labs, Conduit, Ethrealize and 1 independent participant. It generated circuit-specific setup parameters for Groth16 wrapper of SP1 Hypercube zkVM.\n\n- Ceremony info on Succinct docs page: (link is updated and points to a different ceremony now).\n- Ceremony instructions and verification instructions: [https://github.com/succinctlabs/semaphore-gnark-11/tree/main](https://github.com/succinctlabs/semaphore-gnark-11/tree/main).\n- Link to transcript and other artifacts (Note: will immediately start downloading .tar.gz file): .\n "
}
],
"verifierHashes": [
{
"hash": "0x4388a21c687fdd5f218d7e3d13190cac4c5355818d3605fd5fb811df468ee696",
"name": "SP1 Hypercube Groth16 v6.1.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v6.1.0/crates/prover",
"proofSystem": {
"id": "SP1_v6_1_0",
"type": "Groth16",
"name": "SP1 v6.1.0",
"description": "Succinct's Groth16 final wrap circuit for SP1 zkVM v6.1.0"
},
"knownDeployments": [
{
"address": "eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2"
},
{
"address": "eth:0xD9d5C8456a168Dd25561064F47bF116111131B1D"
},
{
"address": "arb1:0xD9d5C8456a168Dd25561064F47bF116111131B1D"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n The regeneration process consumed around 70 GiB of memory on the peak.\n \n 1. Install necessary dependencies: rust, docker, sp1 toolkit, go.\n \n ```\n sudo apt update\n sudo apt install build-essential golang-go protobuf-compiler\n \n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n cargo install --debug --locked cargo-make\n \n curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n sudo apt install -y docker-ce\n sudo usermod -aG docker ${USER}\n \n curl -L https://sp1up.succinct.xyz/ | bash\n source ~/.bashrc\n sp1up\n ```\n \n 2. Clone [sp1 repo](https://github.com/succinctlabs/sp1), set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to build groth16 circuit file.\n \n ```\n git clone https://github.com/succinctlabs/sp1.git\n cd sp1/crates/prover\n git checkout v6.1.0 # commit should be d454975ac7c1126097e36eceda9bce2cb9899da4\n export SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n \n make build-circuits\n ```\n \n This script will generate `groth16_circuit.bin` file in the `prover/build/groth16` directory, however it will not generate correct prover and verifier keys.\n \n 3. Generate correct pk and vk using the correct SP1 trusted setup. This will require [semaphore-gnark-11](https://github.com/succinctlabs/semaphore-gnark-11/tree/main) repo.\n \n ```\n cd\n git clone https://github.com/succinctlabs/semaphore-gnark-11.git # tested on commit hash 6d6ebc3608e609ec879e9ba99abee6b6b97d937d\n cd semaphore-gnark-11\n # Download the trusted setup transcript\n curl \"https://sp1-circuits.s3-us-east-2.amazonaws.com/v6.1.0-trusted-setup.tar.gz\" -o trusted-setup.tar.gz\n \n # Extract trusted setup transcript.\n tar -xzf trusted-setup.tar.gz\n \n # Build the binary.\n go build\n \n # Generate keys. They are outputted to the files pk and vk in the root directory.\n ./semaphore-gnark-11 key trusted-setup/phase1 trusted-setup/phase2-17 trusted-setup/evals /path/to/sp1/crates/prover/build/groth16/groth16_circuit.bin\n ```\n The last step will take several hours to complete.\n \n 4. Compute the hash of generated `vk` file: `shasum vk -a 256`.\n "
},
{
"hash": "0x0e78f4db7a6771a3a6a7d9c3b0de6fe73d58781368967a7fe84d87aefffec896",
"name": "SP1 Hypercube Groth16 v6.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v6.0.0/crates/prover",
"proofSystem": {
"id": "SP1_v6_0_0",
"type": "Groth16",
"name": "SP1 v6.0.0",
"description": "Succinct's Groth16 final wrap circuit for SP1 zkVM v6.0.0"
},
"knownDeployments": [
{
"address": "eth:0x99A74A05a0FaBEB217C1A329b0dac59a1FA52508"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n The regeneration process consumed around 70 GiB of memory on the peak.\n \n 1. Install necessary dependencies: rust, docker, sp1 toolkit, go.\n \n ```\n sudo apt update\n sudo apt install build-essential golang-go protobuf-compiler\n \n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n cargo install --debug --locked cargo-make\n \n curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n sudo apt install -y docker-ce\n sudo usermod -aG docker ${USER}\n \n curl -L https://sp1up.succinct.xyz/ | bash\n source ~/.bashrc\n sp1up\n ```\n \n 2. Clone [sp1 repo](https://github.com/succinctlabs/sp1), set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to build groth16 circuit file.\n \n ```\n git clone https://github.com/succinctlabs/sp1.git\n cd sp1/crates/prover\n git checkout v6.0.0 # commit should be f87f8d6ff005d542db22e241928319f5e96a4609\n export SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n \n make build-circuits\n ```\n \n This script will generate `groth16_circuit.bin` file in the `prover/build/groth16` directory, however it will not generate correct prover and verifier keys.\n \n 3. Generate correct pk and vk using the correct SP1 trusted setup. This will require [semaphore-gnark-11](https://github.com/succinctlabs/semaphore-gnark-11/tree/main) repo.\n \n ```\n cd\n git clone https://github.com/succinctlabs/semaphore-gnark-11.git # tested on commit hash 6d6ebc3608e609ec879e9ba99abee6b6b97d937d\n cd semaphore-gnark-11\n # Download the trusted setup transcript\n curl \"https://sp1-circuits.s3-us-east-2.amazonaws.com/v6.0.0-trusted-setup.tar.gz\" -o trusted-setup.tar.gz\n \n # Extract trusted setup transcript.\n tar -xzf trusted-setup.tar.gz\n \n # Build the binary.\n go build\n \n # Generate keys. They are outputted to the files pk and vk in the root directory.\n ./semaphore-gnark-11 key trusted-setup/phase1 trusted-setup/phase2-11 trusted-setup/evals /path/to/sp1/crates/prover/build/groth16/groth16_circuit.bin\n ```\n The last step will take several hours to complete.\n \n 4. Compute the hash of generated `vk` file: `shasum vk -a 256`.\n "
},
{
"hash": "0x5a093a2fcb46394f5cadfe55c44d4d572fad9cec7aeb38026b0278322ef07fac",
"name": "SP1 Hypercube Plonk v6.1.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v6.1.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"
},
{
"address": "arb1:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"
},
{
"address": "eth:0x9774CE99E8Ab3f13582bC6c2Bd2832e5A25C4624"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe regeneration process consumed around 100 GiB of memory on the peak.\n\n1. Install necessary dependencies: rust, docker, sp1 toolkit, go.\n\n```\nsudo apt update\nsudo apt install build-essential golang-go protobuf-compiler\n\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\ncargo install --debug --locked cargo-make\n\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\nsudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\nsudo apt install -y docker-ce\nsudo usermod -aG docker ${USER}\n\ncurl -L https://sp1up.succinct.xyz/ | bash\nsource ~/.bashrc\nsp1up\n```\n\n2. Clone [sp1 repo](https://github.com/succinctlabs/sp1), set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n\n```\ngit clone https://github.com/succinctlabs/sp1.git\ncd sp1/crates/prover\ngit checkout v6.1.0 # commit should be d454975ac7c1126097e36eceda9bce2cb9899da4\nexport SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n\nmake build-circuits\n```\n \nThe script will generate Plonk verifier smart contract with verification keys and the verifier hash in `build/plonk` dir.\n "
},
{
"hash": "0xbb1a6f2930e94bfe8b35e794faf43133214534a17d2ad8e51358cad437b3c317",
"name": "SP1 Hypercube Plonk v6.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v6.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
},
{
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\n The regeneration process consumed around 70 GiB of memory on the peak.\n \n 1. Install necessary dependencies: rust, docker, sp1 toolkit, go.\n \n ```\n sudo apt update\n sudo apt install build-essential golang-go protobuf-compiler\n \n curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n . .cargo/env\n cargo install --debug --locked cargo-make\n \n curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -\n sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable\"\n sudo apt install -y docker-ce\n sudo usermod -aG docker ${USER}\n \n curl -L https://sp1up.succinct.xyz/ | bash\n source ~/.bashrc\n sp1up\n ```\n \n 2. Clone [sp1 repo](https://github.com/succinctlabs/sp1), set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n \n ```\n git clone https://github.com/succinctlabs/sp1.git\n cd sp1/crates/prover\n git checkout v6.0.0 # commit should be f87f8d6ff005d542db22e241928319f5e96a4609\n export SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n \n make build-circuits\n ```\n \n The script will generate Plonk verifier smart contract with verification keys and the verifier hash in `build/plonk` dir.\n "
}
]
}
+2 -1
+2 -1
{
"creator": "Succinct",
"projectsForTvs": [
{
"projectId": "fluent",
"sinceTimestamp": 1776599267
},
{
"projectId": "forknet",
"sinceTimestamp": 1753882500
},
{
"projectId": "katana",
"sinceTimestamp": 1751328000
},
{
"projectId": "blobstream",
"sinceTimestamp": 1717608107
},
{
"projectId": "vector",
"sinceTimestamp": 1720128227
},
{
"projectId": "sophon",
"sinceTimestamp": 1745341091
},
{
"projectId": "lens",
"sinceTimestamp": 1745359200
},
{
"projectId": "plumenetwork",
"sinceTimestamp": 1746735060,
"untilTimestamp": 1763420400
},
{
"projectId": "galxegravity",
"sinceTimestamp": 1745880540,
"untilTimestamp": 1763420400
},
{
"projectId": "rari",
"sinceTimestamp": 1734562800
},
{
"projectId": "winr",
"sinceTimestamp": 1747088280
},
{
"projectId": "molten",
"sinceTimestamp": 1731480840
},
{
"projectId": "taiko",
"sinceTimestamp": 1730452800
},
{
"projectId": "lumia",
"sinceTimestamp": 1753882500
},
{
"projectId": "polygonzkevm",
"sinceTimestamp": 1753882500
},
{
"projectId": "xlayer",
"sinceTimestamp": 1753882500
},
{
"projectId": "silicon",
"sinceTimestamp": 1753882500
},
{
"projectId": "facet",
"sinceTimestamp": 1751407200
},
{
"projectId": "ethscriptions",
"sinceTimestamp": 1767735587
},
{
"projectId": "ternoa",
"sinceTimestamp": 1753882500
},
{
"projectId": "wirex",
"sinceTimestamp": 1753882500
},
{
"projectId": "penchain",
"sinceTimestamp": 1753882500
},
{
"projectId": "phala",
"sinceTimestamp": 1736290800
},
{
"projectId": "mantle",
"sinceTimestamp": 1757973600
},
{
"projectId": "zircuit",
"sinceTimestamp": 1756072800
},
{
"projectId": "morph",
"sinceTimestamp": 1737359447
},
{
"projectId": "gpt",
"sinceTimestamp": 1753882500
},
{
"projectId": "astarzkevm",
"sinceTimestamp": 1753882500
},
{
"projectId": "witness",
"sinceTimestamp": 1753882500
},
{
"projectId": "kroma",
"sinceTimestamp": 1739228400
},
{
"projectId": "haust",
"sinceTimestamp": 1756808195
},
{
"projectId": "celo",
"sinceTimestamp": 1765324800
},
{
"projectId": "appchain",
"sinceTimestamp": 1776165024
"sinceTimestamp": 1776165024,
"untilTimestamp": 1780326419
}
],
"proofSystemInfo": "\n ## Description\n\n SP1 Turbo is a RISC-V zkVM using the [Plonky3](https://github.com/Plonky3/Plonky3) stack. The zkVM execution is proven recursively and is wrapped into a SNARK for final verification. It provides tools to generate onchain Groth16 or Plonk verifiers. SP1 targets [100 bits of security based on unproven proximity gaps conjecture](https://docs.succinct.xyz/docs/v5/sp1/security/security-model#conjectures-for-fris-security), so the actual security is likely lower.\n\n ## Proof system\n\n SP1 Turbo proves execution of a 32 bit RISC-V VM (RV32IM) using several ZK circuits connected by lookup arguments, as implemented in Plonky3. VM execution trace is split into several chunks that could be proven in parallel with a STARK proving system. The parallelized proofs are recursively checked by the next layer of STARK circuits. The correctness of the final STARK proof is verified with the final wrap SNARK program, the wrap SNARK proof is verified onchain.\n\n ### zkVM component\n\n Verifies execution of a RISC-V program in a zkVM. See [here](https://docs.succinct.xyz/docs/v5/sp1/security/rv32im-implementation) for more details on the exact RISC-V standard implemented. Uses [Plonky3](https://github.com/Plonky3/Plonky3) STARK toolkit with AIR arithmetization and FRI-based polynomial commitment scheme within the [BabyBear field](https://docs.succinct.xyz/docs/v5/sp1/security/security-model#hash-functions-and-the-random-oracle-model).\n\n ### Recursion circuits\n\n SP1 provides tools for recursive proof generation by [verifying proofs in a zkVM](https://docs.succinct.xyz/docs/v5/sp1/writing-programs/proof-aggregation#verifying-proofs-inside-the-zkvm). This uses the same toolkit as top-level proof system, but proves the correct verification of all proofs generated on the previous step.\n\n ### Final wrap\n\n SP1 supports Plonk (with KZG polynomial commitments) or Groth16 final SNARK wrap of the STARK proof for performant onchain proof verification ([link](https://docs.succinct.xyz/docs/v5/sp1/generating-proofs/proof-types#compressed)). The [gnark](https://github.com/Consensys/gnark) implementation of these proof systems over BN254 curve is used. For Plonk, Aztec Ignition trusted setup ceremony is used, for Groth16 Succinct run internal circuit-dependent phase 2 trusted setup, see [below](#trusted-setups) for more details.\n ",
"techStack": {
"zkVM": [
{
"id": "Plonky3",
"type": "STARK",
"name": "Plonky3",
"description": "Toolkit that implements a set of primitives for STARK-based zkVMs developed by Polygon Zero team."
},
{
"id": "RISCV32",
"type": "ISA",
"name": "RISC-V 32bit",
"description": "Free and open-source universal 32-bit ISA used across a variety of hardware and software."
},
{
"id": "BabyBear",
"type": "Field",
"name": "Baby Bear",
"description": "Prime field of order p = 15 * 2**27 + 1."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"id": "SP1TurboGroth16",
"name": "SP1 Turbo Groth16 circuit-specific setup",
"risk": "red",
"shortDescription": "Succinct's internally run trusted setup for SP1 Turbo (release v5.0.0) Groth16 final wrap circuits. Ceremony was run among 7 contributors to the SP1 project without public calls to participate.",
"longDescription": "\n Ceremony was run among 7 contributors to the SP1 project without public calls to participate. It generated setup parameters for Groth16 wrapper of SP1 zkVM.\n\n - Ceremony info on Succinct docs page: [https://docs.succinct.xyz/docs/v5/sp1/security/security-model#options](https://docs.succinct.xyz/docs/v5/sp1/security/security-model#options).\n - Ceremony instructions and verification instructions: [https://github.com/succinctlabs/semaphore-gnark-11/tree/main](https://github.com/succinctlabs/semaphore-gnark-11/tree/main).\n - Link to transcript and other artifacts (Note: will immediately start downloading .tar.gz file): [https://sp1-circuits.s3.us-east-2.amazonaws.com/v4.0.0-rc.3-trusted-setup.tar.gz](https://sp1-circuits.s3.us-east-2.amazonaws.com/v4.0.0-rc.3-trusted-setup.tar.gz).\n "
}
],
"verifierHashes": [
{
"hash": "0xd4e8ecd2357dd882209800acd6abb443d231cf287d77ba62b732ce937c8b56e7",
"name": "SP1 Turbo Plonk v5.0.0",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v5.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
},
{
"address": "eth:0xFF5Adab685362DC4C33536a65aF5873738D1216B"
},
{
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
},
{
"address": "eth:0x059adC0Db833f7cCb12dC41BE0017626337AfA63"
},
{
"address": "eth:0x294a1Ee119C4B2510530572481A6a50892A9ae9f"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nThe regeneration process consumed around 50 GiB of memory on the peak. Also, due to some os indeterminism, \nthe sp1 repo must be cloned into `/home/aurel/dev/sp1-wip/` directory, so we recommend creating `aurel` user on an Ubuntu 24.04 machine.\n\n1. Create a new `aurel` user on a linux os and login as this user.\n2. Install necessary dependencies: rust, sp1 toolkit, go.\n\n```\nsudo apt update\nsudo apt install build-essential golang-go\n\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\ncargo install --debug --locked cargo-make\n\ncurl -L https://sp1up.succinct.xyz/ | bash\nsp1up\n```\n\n3. Clone sp1 repo in the correct directory, set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n\n```\nmkdir -p dev/sp1-wip/\ncd dev/sp1-wip/\ngit clone https://github.com/succinctlabs/sp1.git\ncd sp1/crates/prover\ngit checkout v5.0.0 # commit should be 38f0f143dece864e8bffafad64196a924f190336\nexport SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n\nmake build-circuits\n```\n \nThe script will generate Plonk verifier smart contract with verification keys and the verifier hash in `build/plonk` dir.\n "
},
{
"hash": "0xa4594c59bbc142f3b81c3ecb7f50a7c34bc9af7c4c444b5d48b795427e285913",
"name": "SP1 Turbo Groth16 v5.0.0",
"proofSystem": {
"id": "Gnark",
"type": "Groth16",
"name": "Gnark",
"description": "Consensys implementation of Groth16 proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5"
},
{
"address": "arb1:0xC513d6E8C8f915B1DA2f6eAC4C6d755ff3d5f21D"
}
],
"verificationStatus": "unsuccessful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "\nWe performed the following steps, which according to the Succinct team should have lead to a successful regeneration of the verifier's hash.\nHowever these steps produced a verifier smart contract with `VERIFIER_HASH = 0xf7ba6320608dadd905f3483d51c2fa0fb55473e3136bdfb37c96a10f158ab9fe`, which differs from the value onchain. \n\n1. Create a new `aurel` user on a linux os and login as this user.\n2. Install necessary dependencies: rust, sp1 toolkit, go.\n\n```\nsudo apt update\nsudo apt install build-essential golang-go\n\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\ncargo install --debug --locked cargo-make\n\ncurl -L https://sp1up.succinct.xyz/ | bash\nsp1up\n```\n\n3. Clone sp1 repo in the correct directory, set `SP1_ALLOW_DEPRECATED_HOOKS` for correct compilation and run the script to regenerate verifiers.\n\n```\nmkdir -p dev/sp1-wip/\ncd dev/sp1-wip/\ngit clone https://github.com/succinctlabs/sp1.git\ncd sp1/crates/prover\ngit checkout v5.0.0 # commit should be 38f0f143dece864e8bffafad64196a924f190336\nexport SP1_ALLOW_DEPRECATED_HOOKS=true # fixes compilation errors\n\nmake build-circuits\n```\n "
},
{
"hash": "0xffea2d2e12ed24da258af874d77eee7ee91a1e050ee197052908089e57681e67",
"name": "SP1 Turbo Plonk Morph",
"sourceLink": "https://github.com/succinctlabs/sp1/tree/v5.0.0/crates/prover",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x045d4BC73Bd1918192f34e98532A5272Ef620423"
}
],
"verificationStatus": "notVerified"
}
]
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "arb1:0x6aD424c3eBB11502FC72876106D9b3a562A64e7d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6aD424c3eBB11502FC72876106D9b3a562A64e7d#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xe0064A9fb8e45BfD8e5aB1cE7523888814A096E0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0xb4b1389DaC96eA8681D7e8aC479F3a9E7eD14766"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
},
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2\n * **batchPosters**: EOA 1, EOA 10, EOA 11, EOA 12, EOA 13, EOA 15, EOA 2, EOA 3, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe0064A9fb8e45BfD8e5aB1cE7523888814A096E0#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xEca0fEB4aA6112a3923823559e7197294Bc49CC7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0xe3Ba68E1c99314464768b60915c03aE446210df1"
]
},
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xEca0fEB4aA6112a3923823559e7197294Bc49CC7#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xf3C4a84a948658D012C915Ad4bb4b501F6C3c075",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x458B2e28fb08258ef5Fdc11a4De5289A04A5eCf8"
],
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2\n * **getValidators**: EOA 14\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf3C4a84a948658D012C915Ad4bb4b501F6C3c075#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x458B2e28fb08258ef5Fdc11a4De5289A04A5eCf8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0xb6298031A9536600EBB8B59f3DD24b0e33d86008"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2\n * **executors**: Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x458B2e28fb08258ef5Fdc11a4De5289A04A5eCf8#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x2EAf07A964c6601c4fAefd6D8969DF0B84f65e55",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0xD2ed924DC094abBE7ea47D872C2a8625A803c2c8"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
},
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2EAf07A964c6601c4fAefd6D8969DF0B84f65e55#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x62bEd4b862254789825Cd6F2352aa2b76B16145e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644465,
"transactionHash": "0x182124f01f53279a2f2592673b4b737ebe49f7eee5d03615b74e2a1a86d7ec6f",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x62bEd4b862254789825Cd6F2352aa2b76B16145e#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xa4b3B4D5f7976a8D283864ea83f1Bb3D815b1798",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0x643c72c3d141409B253B65C443beAD40a5b44702"
]
},
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xa4b3B4D5f7976a8D283864ea83f1Bb3D815b1798#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x9FE42A08751E8566A0918807bF2870594bf22806",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644465,
"transactionHash": "0x182124f01f53279a2f2592673b4b737ebe49f7eee5d03615b74e2a1a86d7ec6f",
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9FE42A08751E8566A0918807bF2870594bf22806#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x31F535A566FE1Ef994858cf4D97b1207fC7388A8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0x5596878012fD140Bc2Cdadb07E1543E51279C3E3"
]
},
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2",
"upgradableBy": [
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x31F535A566FE1Ef994858cf4D97b1207fC7388A8#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x583F8BA007580c83EFB4B02C66694096cD5c56d1#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x61006c8566fac9a3315F646dA4624C00BbCF15E4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb#code"
}
]
},
"escrows": [
{
"address": "0xEca0fEB4aA6112a3923823559e7197294Bc49CC7",
"sinceTimestamp": 1725644220,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0xEca0fEB4aA6112a3923823559e7197294Bc49CC7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644220,
"transactionHash": "0xefcb1edf464c3c7aadfa482d49e0f4398846f219229bb62017e6589619a83c99",
"implementations": [
"arb1:0xe3Ba68E1c99314464768b60915c03aE446210df1"
]
},
{
"timestamp": 1770631357,
"transactionHash": "0x751323d2760fa1c2226a1dcb621436fc55e1dcd4966ec8aa6845111e72b76db0",
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xEca0fEB4aA6112a3923823559e7197294Bc49CC7#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x62bEd4b862254789825Cd6F2352aa2b76B16145e",
"sinceTimestamp": 1725644465,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x62bEd4b862254789825Cd6F2352aa2b76B16145e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x83a4d6f7aEcBb9eABd3733b610b58403dc29910E"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1725644465,
"transactionHash": "0x182124f01f53279a2f2592673b4b737ebe49f7eee5d03615b74e2a1a86d7ec6f",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"url": "https://arbiscan.io/address/0x62bEd4b862254789825Cd6F2352aa2b76B16145e#code"
},
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51/arbos",
"verificationSteps": "\nEven though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v51` . Commit hash should be `03949e76071f048c850d721c7a378a2e4b3fbd09`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1730187143,
"transactionHash": "0xaf5a9eeab9e5f6edb2409f9b41142e49d97ce9ca9d8785e8dbff7cc2835699c0",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately CalderaMultisig\n * **anyTrustFastConfirmer**: SxNetworkMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately CalderaMultisig\n * **validators**: EOA 1, EOA 10, EOA 4, EOA 5, EOA 9, SxNetworkMultisig; ultimately EOA 1",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x73cfa0F6ae141212115657ad91Ad918E5d34d882",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1730187143,
"transactionHash": "0xaf5a9eeab9e5f6edb2409f9b41142e49d97ce9ca9d8785e8dbff7cc2835699c0",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73cfa0F6ae141212115657ad91Ad918E5d34d882#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xa104C0426e95a5538e89131DbB4163d230C35f86",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa104C0426e95a5538e89131DbB4163d230C35f86#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xD80a805c86C14c879420eC6acb366D04D318fC0C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig\n * **batchPosters**: EOA 2, EOA 3, EOA 6, EOA 7, EOA 8",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD80a805c86C14c879420eC6acb366D04D318fC0C#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig\n * **executors**: CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xB360b2f57c645E847148d7C479b7468AbF6F707d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB360b2f57c645E847148d7C479b7468AbF6F707d#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720195403,
"transactionHash": "0x7cc92a5a8726d4bfe4dc046ebe6bea0d89310a0897998f847cd74e130674cf08",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xEa83E8907C89Bc0D9517632f0ba081972E328631",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEa83E8907C89Bc0D9517632f0ba081972E328631#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x5F00446D785421d65B50c192D7129e3C3906438A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720195403,
"transactionHash": "0x7cc92a5a8726d4bfe4dc046ebe6bea0d89310a0897998f847cd74e130674cf08",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5F00446D785421d65B50c192D7129e3C3906438A#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe8606A55d105EF857F187C32Ae0E9a168aF8F497#code"
}
]
},
"escrows": [
{
"address": "0xa104C0426e95a5538e89131DbB4163d230C35f86",
"sinceTimestamp": 1720173479,
"tokens": [
"SX"
],
"contract": {
"isVerified": true,
"address": "eth:0xa104C0426e95a5538e89131DbB4163d230C35f86",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows SX sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xa104C0426e95a5538e89131DbB4163d230C35f86#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91",
"sinceTimestamp": 1720195403,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720195403,
"transactionHash": "0x7cc92a5a8726d4bfe4dc046ebe6bea0d89310a0897998f847cd74e130674cf08",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://etherscan.io/address/0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "ChallengeManager",
"isVerified": false,
"address": "eth:0xABf2988264170a7f94E6Fa76ECA5965B906E229d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x3F4dF359A258ba9721089576c55eb696674D5d9b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x3F4dF359A258ba9721089576c55eb696674D5d9b"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xABf2988264170a7f94E6Fa76ECA5965B906E229d#code"
},
{
"name": "StakeRegistry",
"isVerified": true,
"address": "eth:0x006124Ae7976137266feeBFb3F4D2BE4C073139D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x1C468cf7089D263c2f53e2579b329B16aBc4dd96"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353799,
"transactionHash": "0x67b4fa469020a02fb0ab975c67604ada64cb11cdb170d44a3108cc67a9037bad",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0xb72070366da1397312ab26f2128e3be250c3f9b8fa7164694e55d052f8d9f8ac",
"implementations": [
"eth:0x1C468cf7089D263c2f53e2579b329B16aBc4dd96"
]
}
],
"description": "Keeps track of the total stake of each operator.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x006124Ae7976137266feeBFb3F4D2BE4C073139D#code"
},
{
"name": "BLSApkRegistry",
"isVerified": true,
"address": "eth:0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x5d0B9cE2e277Daf508528E9f6Bf6314E79e4eD2b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353799,
"transactionHash": "0xd0aab9a017adecfb4a605cd0c0790eaa6776e15054ddae552970406fc2320dd8",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0x02bfebfdc5898228aafc5da844daeea8bc9c810ee1ee17f555d46da13247f13c",
"implementations": [
"eth:0x5d0B9cE2e277Daf508528E9f6Bf6314E79e4eD2b"
]
}
],
"description": "Keeps track of the BLS public keys of each operator and the quorum aggregated keys.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x00A5Fd09F6CeE6AE9C8b0E5e33287F7c82880505#code"
},
{
"name": "RegistryCoordinator",
"isVerified": true,
"address": "eth:0x0BAAc79acD45A023E19345c352d8a7a83C4e5656",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x2088435ABcB1234A9427B755931C9064C93a2595"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353787,
"transactionHash": "0x3a9b2c12f66b0acc238c64eebdf84faee5e7539710be705584432368f1724d7f",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0x6a6489dbfbe688c34d924a3e86de303d3d427dc328652e931926333729f242be",
"implementations": [
"eth:0xd3e09a0c2A9A6FDf5E92aE65D3CC090A4dF8EECF"
]
},
{
"timestamp": 1721834291,
"transactionHash": "0x28e327c2afc40ceec4bbc6e6a960b2f7744632a20e48da93c657bdd82c92bf5c",
"implementations": [
"eth:0xdcabf0bE991d4609096CCe316df08d091356E03F"
]
},
{
"timestamp": 1748556275,
"transactionHash": "0xfa483d640a2793a223b75e6a2c6fb8f9eaa2a1c0df1e6ca69d7d332251981282",
"implementations": [
"eth:0x2088435ABcB1234A9427B755931C9064C93a2595"
]
}
],
"description": "Operators register here with an AVS: The coordinator has three registries: 1) a `StakeRegistry` that keeps track of operators' stakes, 2) a `BLSApkRegistry` that keeps track of operators' BLS public keys and aggregate BLS public keys for each quorum, 3) an `IndexRegistry` that keeps track of an ordered list of operators for each quorum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **churnApprover**: EOA 7\n * **owner**: EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0BAAc79acD45A023E19345c352d8a7a83C4e5656#code"
},
{
"name": "EjectionManager",
"isVerified": true,
"address": "eth:0x130d8EA0052B45554e4C99079B84df292149Bd5E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0xC125fECDDabFe13f29EB287Bb8551892AEE7C98A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1715347895,
"transactionHash": "0xb9f7f80114bf8e8fa3092fb298aa8aae1bccbb04b36516667396b5b12a6a23e0",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1715347895,
"transactionHash": "0xd04d3d0dbf04adf100c0edbe832d60786758b828ce9073e205b8ab3675864d32",
"implementations": [
"eth:0x1A27AC48D40F70213Ae6ec64f66852e0A1a0E6fa"
]
},
{
"timestamp": 1723045967,
"transactionHash": "0x7dcee857c6f42698dd0db59a3032770cdffa8607b6902fee32f3d498991df44a",
"implementations": [
"eth:0x33A517608999DF5CEfFa2b2EbA88B4461c26Af6f"
]
},
{
"timestamp": 1748556275,
"transactionHash": "0xfa483d640a2793a223b75e6a2c6fb8f9eaa2a1c0df1e6ca69d7d332251981282",
"implementations": [
"eth:0xC125fECDDabFe13f29EB287Bb8551892AEE7C98A"
]
}
],
"description": "Contract used for ejection of operators from the RegistryCoordinator for violating the Service Legal Agreement (SLA).\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **ejectors**: EOA 4, EOA 6, EigenDA Multisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x130d8EA0052B45554e4C99079B84df292149Bd5E#code"
},
{
"name": "SocketRegistry",
"isVerified": true,
"address": "eth:0x5a3eD432f2De9645940333e4474bBAAB8cf64cf2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x5b60105ceD5207D6ad217BF2d426e133454eCFB4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1733339723,
"transactionHash": "0xac0215d6889603e179b545d19d00944d5655764c4763ef724ffd7956b4d346b2",
"implementations": [
"eth:0x5b60105ceD5207D6ad217BF2d426e133454eCFB4"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5a3eD432f2De9645940333e4474bBAAB8cf64cf2#code"
},
{
"name": "EigenDADisperserRegistry",
"isVerified": true,
"address": "eth:0x78cb05379a3b66E5227f2C1496432D7FFE794Fad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x7DECf99BE82Ea4Cf72F381a5fCBc04228955FBE5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750295,
"transactionHash": "0x19a69477f502e4c9c6ffa34582f15519fcd131c25e889864b5ce976d865bacd2",
"implementations": [
"eth:0x7DECf99BE82Ea4Cf72F381a5fCBc04228955FBE5"
]
}
],
"description": "Registry for EigenDA disperser info such as disperser key to address mapping.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **dispersers**: EOA 9",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x78cb05379a3b66E5227f2C1496432D7FFE794Fad#code"
},
{
"name": "EigenDAServiceManager",
"isVerified": true,
"address": "eth:0x870679E138bCdf293b7Ff14dD44b70FC97e12fc0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0xae448D008B6F69033AfdA361b46b36C472B6FEE0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353787,
"transactionHash": "0x0742f1a4d072fc85fe39830a9d21536bf3e09c0ce5a7571cab93bd85d09ff576",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0xb51ad742d1c13af667acb1608d33790a5dcc4970153a6ac2f415390b16fb485e",
"implementations": [
"eth:0xF5fD25A90902c27068CF5eBe53Be8da693Ac899e"
]
},
{
"timestamp": 1715289191,
"transactionHash": "0xb40a6884127043977ba87604e5b6a7447b7f8e6fa88b3ab3d940507c8e1c92d8",
"implementations": [
"eth:0x26089e9738b809d8308B0011B93b4225a112DB8C"
]
},
{
"timestamp": 1716321419,
"transactionHash": "0x43cca617c25c2c5ac4164bdfbeedb8dbf7325056844893fe61bb9e2034ebad1e",
"implementations": [
"eth:0xCDFFF07d5b8AcdAd13607615118a2e65030f5be1"
]
},
{
"timestamp": 1722701675,
"transactionHash": "0xfacff9a26f07d7ae55c6b9fc80059faa016f249c4624841cfcd43c34717cbaf7",
"implementations": [
"eth:0x0D2C5FD4Bb956cDD48A23fC3Ef77a768a5cDbAf7"
]
},
{
"timestamp": 1726582631,
"transactionHash": "0xaedce35d052ceaed37943107a78d8fb3d833ac5619edeab62a8772d67afaaff9",
"implementations": [
"eth:0x58fDE694Db83e589ABb21A6Fe66cb20Ce5554a07"
]
},
{
"timestamp": 1748556275,
"transactionHash": "0xfa483d640a2793a223b75e6a2c6fb8f9eaa2a1c0df1e6ca69d7d332251981282",
"implementations": [
"eth:0xae448D008B6F69033AfdA361b46b36C472B6FEE0"
]
}
],
"description": "Bridge contract that accepts blob batches data availability attestations. Batches availability is attested by EigenDA operators signatures and relayed to the service manager contract by the EigenDA disperser.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **batchConfirmers**: EOA 1, EOA 2, EOA 5\n * **owner**: EigenDAOperationsMultisig\n * **pauserRegistry**: PauserRegistry\n * **rewardsInitiator**: EigenLayerRewardsInitiatorMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x870679E138bCdf293b7Ff14dD44b70FC97e12fc0#code"
},
{
"name": "EigenDAThresholdRegistry",
"isVerified": true,
"address": "eth:0xab26536B7CaA4928708152272967FF1B32Fbf96a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x817BE2d0f28b594D7023dAdf2b3Aa54327180c66"
],
"implementations": [
"eth:0x8435c4994813941403F24eABd1aBfaB0dd422998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1743099299,
"transactionHash": "0x56d09b59cebba94c447a8899cd377b0ab16304aedcf67b8b8cb0a98884883202",
"implementations": [
"eth:0x8435c4994813941403F24eABd1aBfaB0dd422998"
]
}
],
"description": "Registry of EigenDA threshold (i.e, adversary and confirmation threshold percentage for a quorum)\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 3",
"upgradableBy": [
{
"id": "EOA-3",
"name": "EOA 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xab26536B7CaA4928708152272967FF1B32Fbf96a#code"
},
{
"name": "PaymentVault",
"isVerified": true,
"address": "eth:0xb2e7ef419a2A399472ae22ef5cFcCb8bE97A4B05",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x62242213E6FA34E943844f9B3124150EFb9CB0dD"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750295,
"transactionHash": "0x359ca1fa527881edba34879bf633971940ab7addc0c00d96eebbe318fb3f8bd5",
"implementations": [
"eth:0x62242213E6FA34E943844f9B3124150EFb9CB0dD"
]
}
],
"description": "Entrypoint for making reservations and on demand payments for EigenDA.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb2e7ef419a2A399472ae22ef5cFcCb8bE97A4B05#code"
},
{
"name": "IndexRegistry",
"isVerified": true,
"address": "eth:0xBd35a7a1CDeF403a6a99e4E8BA0974D198455030",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x1ae0b73118906f39D5ED30Ae4A484ce2F479a14c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1712353799,
"transactionHash": "0xfebe64f00a8d96fe319e7b388f6cf4c4fb343dac129610a1c978f2ffc2e70a36",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1712353799,
"transactionHash": "0x59468c0a593e95396455fade35463fcff5e9e310e1da5fef0de8f9ad00645acc",
"implementations": [
"eth:0x1ae0b73118906f39D5ED30Ae4A484ce2F479a14c"
]
}
],
"description": "A registry contract that keeps track of an ordered list of operators for each quorum.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xBd35a7a1CDeF403a6a99e4E8BA0974D198455030#code"
},
{
"name": "EigenDARelayRegistry",
"isVerified": true,
"address": "eth:0xD160e6C1543f562fc2B0A5bf090aED32640Ec55B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0xF6D82FBBdf700c086389e72C3023812e956ECa9e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750223,
"transactionHash": "0x5542d5049911c1b3f1a3d0e2f2c861a7e473c817622998049b78529202e6a374",
"implementations": [
"eth:0xF6D82FBBdf700c086389e72C3023812e956ECa9e"
]
}
],
"description": "Registry for EigenDA relay keys, maps key to address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig\n * **relayers**: EOA 8",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD160e6C1543f562fc2B0A5bf090aED32640Ec55B#code"
},
{
"name": "EigenDAThresholdRegistry",
"isVerified": true,
"address": "eth:0xdb4c89956eEa6F606135E7d366322F2bDE609F15",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8247EF5705d3345516286B72bFE6D690197C2E99"
],
"implementations": [
"eth:0x92104977f16dAe423966caa5cD9C115F2D25a8D6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744750211,
"transactionHash": "0x903e00f79e1b98e13ebbc40db4c023249e3dca47685bd30ad86962d60aa83292",
"implementations": [
"eth:0x92104977f16dAe423966caa5cD9C115F2D25a8D6"
]
}
],
"description": "Registry of EigenDA threshold (i.e, adversary and confirmation threshold percentage for a quorum)\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenDAOperationsMultisig",
"upgradableBy": [
{
"name": "EigenDAOperationsMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdb4c89956eEa6F606135E7d366322F2bDE609F15#code"
},
{
"name": "AllocationManagerView",
"isVerified": true,
"address": "eth:0x0D4e5723daAD06510CFd6864b8eB8a08CF0c4a34",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Read-only view contract that exposes query functions for the AllocationManager, allowing external callers to look up operator stake allocations, magnitudes, operator sets, and slashable/redistributable status.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0D4e5723daAD06510CFd6864b8eB8a08CF0c4a34#code"
},
{
"name": "StrategiesBeacon",
"isVerified": true,
"address": "eth:0x0ed6703C298d28aE0878d1b28e88cA87F9662fE9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "UpgradeableBeacon managing the single implementation for all strategies deployed via StrategyFactory.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0ed6703C298d28aE0878d1b28e88cA87F9662fE9#code"
},
{
"name": "swETH-Strategy",
"isVerified": true,
"address": "eth:0x0Fe4F44beE93503346A3Ac9EE5A26b130a5796d6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1701791243,
"transactionHash": "0xb6e75618673d4c8271ddc66b99d5cdc306dc03e400ce0a1f05f8e74b124dbb06",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0Fe4F44beE93503346A3Ac9EE5A26b130a5796d6#code"
},
{
"name": "TaskMailbox",
"isVerified": true,
"address": "eth:0x132b466d9d5723531F68797519DfED701aC2C749",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xA2A9D0F957D81A0f8134F68803240f1CAD81c55e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745751,
"transactionHash": "0xfb191ca97fcb9b1c3a316ce9448a9881063aa47fcfb46e6734f32e01f85055a6",
"implementations": [
"eth:0x70323BC7261136A002ab392F921D67ea52096dCf"
]
},
{
"timestamp": 1758746555,
"transactionHash": "0x90c9bc6461c8c0e09d410b8bb3e929f4f721fe97ca4b2aab3a30268a1412e373",
"implementations": [
"eth:0x76106801F287236Abe0799B1FAb7f7F39AD50150"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xA2A9D0F957D81A0f8134F68803240f1CAD81c55e"
]
}
],
"description": "Task lifecycle manager where users create tasks with fee payments directed at specific executor operator sets, and executors submit results verified via BN254 or ECDSA certificate verification, with fee distribution on successful verification and refunds on task expiration.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x132b466d9d5723531F68797519DfED701aC2C749#code"
},
{
"name": "AVSDirectory",
"isVerified": true,
"address": "eth:0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xcD35Cef328b496fA9d70a8d7C34EF3434614862b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1711141931,
"transactionHash": "0x40573c645ceaa15139d3fe9a736ff5cc230ccb1c11961dcd9a3152d990c1fb71",
"implementations": [
"eth:0xdAbdB3Cd346B7D5F5779b0B614EdE1CC9DcBA5b7"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xA396D855D70e1A1ec1A0199ADB9845096683B6A2"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xcD35Cef328b496fA9d70a8d7C34EF3434614862b"
]
}
],
"description": "* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x135DDa560e946695d6f155dACaFC6f1F25C1F5AF#code"
},
{
"name": "ankrETH-Strategy",
"isVerified": true,
"address": "eth:0x13760F50a9d7377e4F20CB8CF9e4c26586c658ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1701791243,
"transactionHash": "0x91ae672142747f6575ebefe89dba8550752c42ee0b0fe29e9df2523d93e6976d",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x13760F50a9d7377e4F20CB8CF9e4c26586c658ff#code"
},
{
"name": "rETH-Strategy",
"isVerified": true,
"address": "eth:0x1BeE69b7dFFfA4E2d53C2a2Df135C388AD25dCD2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686349019,
"transactionHash": "0xc48ef66054da437f0a7eed4315c5b3f3029f6ebc85ded6d0891272f8f100bc26",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1BeE69b7dFFfA4E2d53C2a2Df135C388AD25dCD2#code"
},
{
"name": "PermissionController",
"isVerified": true,
"address": "eth:0x25E5F8B1E7aDf44518d35D5B2271f114e081f0E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x36dd260AbF606172875E6B5B7A96B435DC74EEd2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744052255,
"transactionHash": "0x805a4483038511f3087a95d16a06a0c2c5a2c7f09da0138d4159a896247ebce7",
"implementations": [
"eth:0xe7f3705c9Addf2DE14e03C345fA982CAb2c1C6B1"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x36dd260AbF606172875E6B5B7A96B435DC74EEd2"
]
}
],
"description": "Contract that enables AVSs and operators to delegate the ability to call certain core contract functions to other addresses.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x25E5F8B1E7aDf44518d35D5B2271f114e081f0E5#code"
},
{
"name": "ProtocolRegistry",
"isVerified": true,
"address": "eth:0x27a84740FdDed5B7D66d9bb6E5d1DEA6eb0C0129",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x611C5b2Fe677a3C09e4D58a1fE40FD6547d5e29E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1768595087,
"transactionHash": "0xf5a80d13d152ee3d270b88f530c15657f338abd2564ac64f04580b1da81e65a4",
"implementations": [
"eth:0x70323BC7261136A002ab392F921D67ea52096dCf"
]
},
{
"timestamp": 1768596791,
"transactionHash": "0xc0ffd9d3cdcb9c355194ca06b5f0b4d81d05d5f83b303068e44ecd55eea1fafe",
"implementations": [
"eth:0x611C5b2Fe677a3C09e4D58a1fE40FD6547d5e29E"
]
}
],
"description": "Admin-controlled on-chain registry that tracks all EigenLayer protocol contract deployments (addresses, names, configs, and versioning) and provides a pauseAll function to pause every registered pausable contract in the protocol.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x27a84740FdDed5B7D66d9bb6E5d1DEA6eb0C0129#code"
},
{
"name": "METH-Strategy",
"isVerified": true,
"address": "eth:0x298aFB19A105D59E74658C4C334Ff360BadE6dd2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704485723,
"transactionHash": "0x6d9bbd5b0323a53856a76ca93769d0e105d9e08a48b502a55cbbb51187583a38",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x298aFB19A105D59E74658C4C334Ff360BadE6dd2#code"
},
{
"name": "DelegationManager",
"isVerified": true,
"address": "eth:0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xE7022a128Acd4C6cad7aFf6FA874D61f984BcE75"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686348935,
"transactionHash": "0x0445e4e9a7cab1da004f9c1dda8f56d27bdd14f18c3a4640ed44e0a2b60f84e7",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1686348995,
"transactionHash": "0x7748101d59e54a345c328c4ec60713a378445cb1a35da6042bcab6ee22fcfd8b",
"implementations": [
"eth:0xf97E97649Da958d290e84E6D571c32F4b7F475e4"
]
},
{
"timestamp": 1712594159,
"transactionHash": "0x39a8f50ef3a5e0cba11b2556bcf3f95ece0797de15b2fdde2f5820361da19b13",
"implementations": [
"eth:0x1784BE6401339Fc0Fedf7E9379409f5c1BfE9dda"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xA75112d1df37FA53a431525CD47A7d7faCEA7E73"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x6EEd6c2802dF347e05884857CdDB2D3E96D12F89"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xE7022a128Acd4C6cad7aFf6FA874D61f984BcE75"
]
}
],
"description": "The DelegationManager contract is responsible for registering EigenLayer operators and managing the EigenLayer strategies delegations. The EigenDA StakeRegistry contract reads from the DelegationManager to track the total stake of each EigenDA operator.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A#code"
},
{
"name": "BN254CertificateVerifier",
"isVerified": true,
"address": "eth:0x3F55654b2b2b86bB11bE2f72657f9C33bf88120A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x9907690007b7ECFE1E03F96beca1a957faE3eaD2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745751,
"transactionHash": "0xfb191ca97fcb9b1c3a316ce9448a9881063aa47fcfb46e6734f32e01f85055a6",
"implementations": [
"eth:0x70323BC7261136A002ab392F921D67ea52096dCf"
]
},
{
"timestamp": 1758746555,
"transactionHash": "0x90c9bc6461c8c0e09d410b8bb3e929f4f721fe97ca4b2aab3a30268a1412e373",
"implementations": [
"eth:0x7b8231f0652943734682C87C01D3169b19006c66"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x9907690007b7ECFE1E03F96beca1a957faE3eaD2"
]
}
],
"description": "Verifies BLS (BN254 curve) certificates for EigenLayer operator sets by computing the aggregate public key of signers, performing pairing-based signature verification, and returning signed-stake weights for quorum threshold validation.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3F55654b2b2b86bB11bE2f72657f9C33bf88120A#code"
},
{
"name": "EigenPod",
"isVerified": true,
"address": "eth:0x53cC2D82E08370Fe1e44a96f69CEc7d5b54ae868",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53cC2D82E08370Fe1e44a96f69CEc7d5b54ae868#code"
},
{
"name": "cbETH-Strategy",
"isVerified": true,
"address": "eth:0x54945180dB7943c0ed0FEE7EdaB2Bd24620256bc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686349019,
"transactionHash": "0xbc6446c92131a356edff85618f044940164fc98d078a272b9e4c6a78e6102c23",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54945180dB7943c0ed0FEE7EdaB2Bd24620256bc#code"
},
{
"name": "KeyRegistrar",
"isVerified": true,
"address": "eth:0x54f4bC6bDEbe479173a2bbDc31dD7178408A57A4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x0f939726Ab8514c13546804311149a8CC244C219"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745487,
"transactionHash": "0x8046c44a4f08ec928a2d178293dc1575e6c8e9f418dd1d11cd4d31e402722fe9",
"implementations": [
"eth:0x047bEc3D8C19D70BA81d61a48Bf9dC63A3E9136b"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x0f939726Ab8514c13546804311149a8CC244C219"
]
}
],
"description": "Manages the registration and deregistration of operator cryptographic keys (ECDSA or BN254/BLS) for specific operator sets, enforcing signature-based proof of key ownership and global uniqueness of keys across the protocol.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x54f4bC6bDEbe479173a2bbDc31dD7178408A57A4#code"
},
{
"name": "OperatorTableUpdater",
"isVerified": true,
"address": "eth:0x5557E1fE3068A1e823cE5Dcd052c6C352E2617B5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x8c4F429e6d884899ebf4602bd2691920B056adF7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745751,
"transactionHash": "0xfb191ca97fcb9b1c3a316ce9448a9881063aa47fcfb46e6734f32e01f85055a6",
"implementations": [
"eth:0x70323BC7261136A002ab392F921D67ea52096dCf"
]
},
{
"timestamp": 1758746555,
"transactionHash": "0x90c9bc6461c8c0e09d410b8bb3e929f4f721fe97ca4b2aab3a30268a1412e373",
"implementations": [
"eth:0x64ad668f6Ca7104E452041555a857CCE6267f22b"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x8c4F429e6d884899ebf4602bd2691920B056adF7"
]
}
],
"description": "Central coordinator for EigenLayer's operator table system: accepts BN254-certified global Merkle table roots from a designated generator operator set, then allows Merkle proof submissions to push per-operator-set tables into the certificate verifier contracts.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5557E1fE3068A1e823cE5Dcd052c6C352E2617B5#code"
},
{
"name": "osETH-Strategy",
"isVerified": true,
"address": "eth:0x57ba429517c3473B6d34CA9aCd56c0e735b94c02",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1701791243,
"transactionHash": "0xaedc32e20363c051714d18605ac7df70c74c35f65bd45310b53a71146cec5028",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57ba429517c3473B6d34CA9aCd56c0e735b94c02#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "eth:0x5a2a4F2F3C18f09179B6703e63D9eDD165909073",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "UpgradeableBeacon managing the single implementation for all strategies deployed via StrategyFactory.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5a2a4F2F3C18f09179B6703e63D9eDD165909073#code"
},
{
"name": "StrategyFactory",
"isVerified": true,
"address": "eth:0x5e4C39Ad7A3E881585e383dB9827EB4811f6F647",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x315BCD0f31EF8b1124382f3acab3913f791C09E7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1723232243,
"transactionHash": "0x5902550cb862b59ffcde620f813c350e6b860d4e518ce22987345337e055cf55",
"implementations": [
"eth:0x3e07cc2D34C8E0965f5BA45Ac1E960e535155c74"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0x1b97d8F963179C0e17E5F3d85cdfd9a31A49bc66"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x5194D2a6A0900796903503926E9CF775b926c8AF"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0x315BCD0f31EF8b1124382f3acab3913f791C09E7"
]
}
],
"description": "Factory contract for permissionless strategy creation via beacon proxies.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5e4C39Ad7A3E881585e383dB9827EB4811f6F647#code"
},
{
"name": "TimelockControllerBeigen",
"isVerified": true,
"address": "eth:0x738130BC8eADe1Bc65A9c056DEa636835896bc53",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock that allows scheduling calls and executing or cancelling them with a delay.\nMember of EigenLayerBeigenOwningMultisig.\n* Roles:\n * **cancellers**: EigenLayerOperationsMultisig\n * **executors**: EigenLayerOperationsMultisig2\n * **proposers**: EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x738130BC8eADe1Bc65A9c056DEa636835896bc53#code"
},
{
"name": "wBETH-Strategy",
"isVerified": true,
"address": "eth:0x7CA911E83dabf90C90dD3De5411a10F1A6112184",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1701791243,
"transactionHash": "0x1a3e6c479ac05253780d481ab8558b6e690f50d4387ae17ec3f0891b3480830e",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7CA911E83dabf90C90dD3De5411a10F1A6112184#code"
},
{
"name": "bEIGEN token",
"isVerified": true,
"address": "eth:0x83E9115d334D248Ce39a6f36144aEaB5b3456e75",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3f5Ab2D4418d38568705bFd6672630fCC3435CC9"
],
"implementations": [
"eth:0xF2b225815F70c9b327DC9db758A36c92A4279b17"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1710958955,
"transactionHash": "0xd2601d188881524bbdfdb54765d58370650ffbb316488fd5fd3cbd319eff6e58",
"implementations": [
"eth:0xB91c69Af3eE022bd0a59Da082945914BFDcEFFE3"
]
},
{
"timestamp": 1727548043,
"transactionHash": "0x7872b53468133d1b46178a3bceb24fb05be5bda619b0d9cf90283f31c633498c",
"implementations": [
"eth:0xF2b225815F70c9b327DC9db758A36c92A4279b17"
]
}
],
"description": "The token backing EIGEN and used for intersubjective staking.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "24d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "24d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x83E9115d334D248Ce39a6f36144aEaB5b3456e75#code"
},
{
"name": "sfrxETH-Strategy",
"isVerified": true,
"address": "eth:0x8CA7A5d6f3acd3A7A8bC468a8CD0FB14B6BD28b6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704485723,
"transactionHash": "0xc0d0e91ba0b422da6b6eff6470f3f570d19263084102caefd1352898d1595f1a",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8CA7A5d6f3acd3A7A8bC468a8CD0FB14B6BD28b6#code"
},
{
"name": "EigenPodManager",
"isVerified": true,
"address": "eth:0x91E677b07F7AF907ec9a428aafA9fc14a0d3A338",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xd22dd829779ADBf3869fb224F703452f7F95E9dB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686348947,
"transactionHash": "0x91d2c5fe26523df0e735f27df02925f42f66843eba7a414acc6bbdcc10bd6785",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1686349007,
"transactionHash": "0x080396d23f4e4b23c8c5dc9491368b3c9ea0eaa96627b60d66259fe35322054e",
"implementations": [
"eth:0xEB86a5c40FdE917E6feC440aBbCDc80E3862e111"
]
},
{
"timestamp": 1712594159,
"transactionHash": "0x39a8f50ef3a5e0cba11b2556bcf3f95ece0797de15b2fdde2f5820361da19b13",
"implementations": [
"eth:0xe4297e3DaDBc7D99e26a2954820f514CB50C5762"
]
},
{
"timestamp": 1725465647,
"transactionHash": "0x7c4214538630d20d915cd9871694ba7a2eece833dccabc7e43a8a9d2c73bc267",
"implementations": [
"eth:0x731A0aD160e407393Ff662231Add6Dd145AD3FEa"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0x9801266CbBbe1E94bB9dAf7de8D61528f49CeC77"
]
},
{
"timestamp": 1746651419,
"transactionHash": "0xa21ccea07638809e5c429ef2b354259ff13aee47b3a5c0452143e2bd162a0968",
"implementations": [
"eth:0x8dB49233e3b7691D68745A31e4A0Cd9Cf924B7E9"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0xE48D7CaeC1790b293667e4bB2dE1E00536F2bABd"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xd22dd829779ADBf3869fb224F703452f7F95E9dB"
]
}
],
"description": "* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x91E677b07F7AF907ec9a428aafA9fc14a0d3A338#code"
},
{
"name": "CrossChainRegistry",
"isVerified": true,
"address": "eth:0x9376A5863F2193cdE13e1aB7c678F22554E2Ea2b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xdc2354FaDd4bf0f9857038381917D0089880642C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745487,
"transactionHash": "0xa1d9b752cfff09aad603873147c3502823eea0828619b58c6950a190a2218502",
"implementations": [
"eth:0x18e7389659De5dd24adfb0f432591973799B1ba4"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xdc2354FaDd4bf0f9857038381917D0089880642C"
]
}
],
"description": "Allows AVSs to create generation reservations that configure and schedule the transport of operator tables (stake weight data) from L1 to whitelisted L2 chains, managing per-operator-set configs such as staleness periods and operator table calculators.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9376A5863F2193cdE13e1aB7c678F22554E2Ea2b#code"
},
{
"name": "stETH-Strategy",
"isVerified": true,
"address": "eth:0x93c4b944D05dfe6df7645A86cd2206016c51564D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686349019,
"transactionHash": "0x2d3c7d1611d7d6f9331598452e2a567c223b1ba5e8cfac15e81c1e352ce30cba",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x93c4b944D05dfe6df7645A86cd2206016c51564D#code"
},
{
"name": "AllocationManager",
"isVerified": true,
"address": "eth:0x948a420b8CC1d6BFd0B6087C2E7c344a2CD0bc39",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xdA2A68D318A571dD550F2EcbCb09bf50497e97C4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1744052255,
"transactionHash": "0x8a175833c16d3e56c8c4ee6851de69c63f17560dd8dac16c5cafdc343a817ff6",
"implementations": [
"eth:0x740058839A1668Af5700e5d7B062007275e77D25"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0xC97602648fA52F92B4ee2b0e5a54Bd15b6cB0345"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xdA2A68D318A571dD550F2EcbCb09bf50497e97C4"
]
}
],
"description": "Contract used to create Operator Sets, and used by Operators to register to them. The Allocation Manager tracks allocation of stake to a Operator Set, and enables AVSs to slash that stake.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x948a420b8CC1d6BFd0B6087C2E7c344a2CD0bc39#code"
},
{
"name": "ETHx-Strategy",
"isVerified": true,
"address": "eth:0x9d7eD45EE2E8FC5482fa2428f15C971e6369011d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1701791243,
"transactionHash": "0x98c6f2080df9ded027ca703bb52acef213576aa9b376f9c7451e41ab4c265170",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9d7eD45EE2E8FC5482fa2428f15C971e6369011d#code"
},
{
"name": "OETH-Strategy",
"isVerified": true,
"address": "eth:0xa4C637e0F704745D182e4D38cAb7E7485321d059",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1701791243,
"transactionHash": "0xb70781ea053daa5b4eb4cba00d8d18d08c6097378713ce601363b5c02060e229",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa4C637e0F704745D182e4D38cAb7E7485321d059#code"
},
{
"name": "bEIGEN-Strategy",
"isVerified": true,
"address": "eth:0xaCB55C530Acdb2849e6d4f36992Cd8c9D50ED8F7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x509Aadb99487182b21fF4E9e7Eb362a9Ea8E8f40"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1713414611,
"transactionHash": "0x1e60f03a48d638e436087faed31f404435ea0af12795342b5de9f63d27772295",
"implementations": [
"eth:0x27e7a3A81741B9fcc5Ad7edCBf9F8a72a5c00428"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0x90B074DDD680bD06C72e28b09231A0F848205729"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x530fDB7AdF7d489DF49c27e3d3512c0dD64886be"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x4a0aee93BE6C87B227cA0B450E15245631233532"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0x509Aadb99487182b21fF4E9e7Eb362a9Ea8E8f40"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaCB55C530Acdb2849e6d4f36992Cd8c9D50ED8F7#code"
},
{
"name": "RiverV1-Strategy",
"isVerified": true,
"address": "eth:0xAe60d8180437b5C34bB956822ac2710972584473",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1704485723,
"transactionHash": "0x2cf67ed2870057d5151bb9935962cb9282fd15f7c6e25ef78af3ba23c09886b1",
"implementations": [
"eth:0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xaFDa870d4A94B9444F9F22A0e61806178b6Bf178"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x62F7226Fb9d615590EadB539713b250fB2fdf4E0"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xb8d2cc94A9d2a8Fd7fF499fbE64B0B209212DBa7"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xB427E2Eb4Bb33eE3f1ee72dc9e347e8625a72230"
]
}
],
"description": "A strategy implementation allowing to deposit a specific token as a restakable asset.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAe60d8180437b5C34bB956822ac2710972584473#code"
},
{
"name": "PauserRegistry",
"isVerified": true,
"address": "eth:0xB8765ed72235d279c3Fb53936E4606db0Ef12806",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Defines and stores pauser and unpauser roles for EigenLayer contracts.\n* Roles:\n * **pausers**: EigenLayerOperationsMultisig, EigenLayerOwningMultisig, EigenLayerPauserMultisig, ProtocolRegistry",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB8765ed72235d279c3Fb53936E4606db0Ef12806#code"
},
{
"name": "TimelockControllerOwning",
"isVerified": true,
"address": "eth:0xC06Fd4F821eaC1fF1ae8067b36342899b57BAa2d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock that allows scheduling calls and executing or cancelling them with a delay.\nMember of EigenLayerOwningMultisig.\n* Roles:\n * **cancellers**: EigenLayerOperationsMultisig\n * **executors**: EigenLayerOperationsMultisig2\n * **proposers**: EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC06Fd4F821eaC1fF1ae8067b36342899b57BAa2d#code"
},
{
"name": "ECDSACertificateVerifier",
"isVerified": true,
"address": "eth:0xd0930ee96D07de4F9d493c259232222e46B6EC25",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x2d52c39461795835b1F8F6cD242f4955AaC040dC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745751,
"transactionHash": "0xfb191ca97fcb9b1c3a316ce9448a9881063aa47fcfb46e6734f32e01f85055a6",
"implementations": [
"eth:0x70323BC7261136A002ab392F921D67ea52096dCf"
]
},
{
"timestamp": 1758746555,
"transactionHash": "0x90c9bc6461c8c0e09d410b8bb3e929f4f721fe97ca4b2aab3a30268a1412e373",
"implementations": [
"eth:0x6A74CA72cdF26F3E8a9684E0Ef2F36d1bd2AA1A6"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x2d52c39461795835b1F8F6cD242f4955AaC040dC"
]
}
],
"description": "Verifies ECDSA-based certificates for EigenLayer operator sets by recovering signer addresses from concatenated signatures, confirming each signer is a registered operator, and tallying their stake weights against quorum thresholds.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd0930ee96D07de4F9d493c259232222e46B6EC25#code"
},
{
"name": "EIGEN token",
"isVerified": true,
"address": "eth:0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x2C4A81e257381F87F5A5C4bd525116466D972E50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1697499563,
"transactionHash": "0x0ba1c010d668a69e16ec93f5554e6bae75b2213b76dd29f9667a549cd6bac675",
"implementations": [
"eth:0xB0e9a10f09ED4304df238624d014205B0786572F"
]
},
{
"timestamp": 1710895055,
"transactionHash": "0xfcff4a62e4ebf275073172f537ba6628ae9b426b50d74b3ffd4974763fe1082f",
"implementations": [
"eth:0xfe288960BEb8b189303f49B070CB0bA52e44cF32"
]
},
{
"timestamp": 1712248763,
"transactionHash": "0x1eb1b7a3310abbe835214ff252cb5551699ba4f17e58afd294babb812215751e",
"implementations": [
"eth:0x7EC354C84680112d3cfF1544ec1Eb19ca583700b"
]
},
{
"timestamp": 1727548043,
"transactionHash": "0x7872b53468133d1b46178a3bceb24fb05be5bda619b0d9cf90283f31c633498c",
"implementations": [
"eth:0x17f56E911C279bad67eDC08acbC9cf3DC4eF26A0"
]
},
{
"timestamp": 1753132583,
"transactionHash": "0xec20b63c1c01cccf3d778b362574a7321bc278144d9a6a448f6943187ee9ee6e",
"implementations": [
"eth:0x2C4A81e257381F87F5A5C4bd525116466D972E50"
]
}
],
"description": "The EIGEN token can be socially forked to slash operators for data withholding attacks (and other intersubjectively attributable faults). EIGEN is a wrapper over a second token, bEIGEN, which will be used solely for intersubjective staking. Forking EIGEN means changing the canonical implementation of the bEIGEN token in the EIGEN token contract.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xec53bF9167f50cDEB3Ae105f56099aaaB9061F83#code"
},
{
"name": "ReleaseManager",
"isVerified": true,
"address": "eth:0xeDA3CAd031c0cf367cF3f517Ee0DC98F9bA80C8F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xD0cb07Df397b122bB7ebaA453356F21f8Ff813bd"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758745487,
"transactionHash": "0x854378563aacdcafc25f3803e92e72cfefd595c799e4c140418995e46ef1b4f0",
"implementations": [
"eth:0x888fE518e321301975A21A7ffE0C898d453c58A3"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xD0cb07Df397b122bB7ebaA453356F21f8Ff813bd"
]
}
],
"description": "Manages software release lifecycle for EigenLayer operator sets, allowing AVS owners to publish versioned releases (containing artifact digests, registry URLs, and upgrade-by deadlines) and metadata URIs that operators can query for required software versions.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeDA3CAd031c0cf367cF3f517Ee0DC98F9bA80C8F#code"
},
{
"name": "UpgradeExecutor",
"isVerified": false,
"address": "eth:0xFA4d1D308f4B4f6E6F836Db2B77Db549606A460c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x4231Dd9e6717aB9a9ABC5618d8a4Fcf1a432F698"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x4231Dd9e6717aB9a9ABC5618d8a4Fcf1a432F698"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: \n * **executors**: Alchemy Multisig 1, EOA 11",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFA4d1D308f4B4f6E6F836Db2B77Db549606A460c#code"
},
{
"name": "Inbox",
"isVerified": false,
"address": "eth:0x5EA55Fd41D42Eb307D281bdE78E4e7572A35ea13",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0xE3F87D94314f78654415F13EAf15b4E9f754E1cc"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0xE3F87D94314f78654415F13EAf15b4E9f754E1cc"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5EA55Fd41D42Eb307D281bdE78E4e7572A35ea13#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x6CA109706c6EBe5379c45f20B3311441D50cb711",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753824383,
"transactionHash": "0x4291a98b88b042d4e2d626bb5ffef3e77d7f5a3195913e65865a9e25bb751de8",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6CA109706c6EBe5379c45f20B3311441D50cb711#code"
},
{
"name": "Outbox",
"isVerified": false,
"address": "eth:0xf555Bc86D1C953414F676479Bf7C979b1A737E8C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x1D7C98C7822f0Ca72b43fec3a8EE597653c08975"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x1D7C98C7822f0Ca72b43fec3a8EE597653c08975"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xf555Bc86D1C953414F676479Bf7C979b1A737E8C#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x534Eb1F79C8df3aB1E507e408EeF4e99D53A1239",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753824383,
"transactionHash": "0x4291a98b88b042d4e2d626bb5ffef3e77d7f5a3195913e65865a9e25bb751de8",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x534Eb1F79C8df3aB1E507e408EeF4e99D53A1239#code"
},
{
"name": "SequencerInbox",
"isVerified": false,
"address": "eth:0x12ad349e5d72B582856290736e0f13FE5fA57Aa4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0xf3dACb6e4d53b21dBEEa21dc76378Bf84Cd92E18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0xf3dACb6e4d53b21dBEEa21dc76378Bf84Cd92E18"
]
}
],
"description": "* Roles:\n * **admin**: \n * **batchPosters**: EOA 10",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x12ad349e5d72B582856290736e0f13FE5fA57Aa4#code"
},
{
"name": "Syndicate Token",
"isVerified": true,
"address": "eth:0x1bAB804803159aD84b8854581AA53AC72455614E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1bAB804803159aD84b8854581AA53AC72455614E#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2420b6bF83B8fEEab576F2f3e5B5d130F2376b2F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2420b6bF83B8fEEab576F2f3e5B5d130F2376b2F#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x27CD0B994cc40a74962Db2fA6b973bf7d19f6Ec6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x27CD0B994cc40a74962Db2fA6b973bf7d19f6Ec6#code"
},
{
"name": "Bridge",
"isVerified": false,
"address": "eth:0x3C8cF0ae6E89AC0796f29B3a58e7dEa1cD072277",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x16957146Fe595627B1FcB16D8323ad8C71285c78"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x16957146Fe595627B1FcB16D8323ad8C71285c78"
]
}
],
"description": "* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3C8cF0ae6E89AC0796f29B3a58e7dEa1cD072277#code"
},
{
"name": "RollupProxy",
"isVerified": false,
"address": "eth:0x451bD7813909B899DA6EbEC55E8fF823c057e14A",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0xFA4d1D308f4B4f6E6F836Db2B77Db549606A460c"
],
"implementations": [
"eth:0x9C1bA854e8082aFF31C39E547F80476Cc333778D",
"eth:0xa4E492a91BEc9b0158351C7543Db2Ec54eCBe650"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x9C1bA854e8082aFF31C39E547F80476Cc333778D",
"eth:0xa4E492a91BEc9b0158351C7543Db2Ec54eCBe650"
]
}
],
"description": "* Roles:\n * **admin**: UpgradeExecutor; ultimately Alchemy Multisig 1, EOA 11\n * **validators**: EOA 12",
"upgradableBy": [
{
"id": "EOA-11",
"name": "EOA 11",
"delay": "no"
},
{
"name": "Alchemy Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x451bD7813909B899DA6EbEC55E8fF823c057e14A#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x6D25E739016f42B70885E63629C7356C2E29a2D7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6D25E739016f42B70885E63629C7356C2E29a2D7#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0x78471572Be99D99f9CE5867B208F15A75F074235",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x78471572Be99D99f9CE5867B208F15A75F074235#code"
},
{
"name": "EigenDACertVerifier",
"isVerified": true,
"address": "eth:0x787c88E70900f6AE10E7B9D18024482895EBD1eb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x787c88E70900f6AE10E7B9D18024482895EBD1eb#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x817BE2d0f28b594D7023dAdf2b3Aa54327180c66",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x817BE2d0f28b594D7023dAdf2b3Aa54327180c66#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8247EF5705d3345516286B72bFE6D690197C2E99",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EigenDAOperationsMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8247EF5705d3345516286B72bFE6D690197C2E99#code"
},
{
"name": "RollupEventInbox",
"isVerified": false,
"address": "eth:0x82E761873714cDe47C594aA6F23E6b1844CD98dB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x7526f2cf2E70564BB5099Edaa9D7B62a0bfE6caa"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x7526f2cf2E70564BB5099Edaa9D7B62a0bfE6caa"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x82E761873714cDe47C594aA6F23E6b1844CD98dB#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0xa8aA9784FA7eC40Dc81d298130746c2FA4785EC8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa8aA9784FA7eC40Dc81d298130746c2FA4785EC8#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0xAa1EaB2ea108FDbCABd760a37E0B06f6e1dA8cC0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAa1EaB2ea108FDbCABd760a37E0B06f6e1dA8cC0#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "eth:0x0fCE0A591D96BB76883323eF555867111E2050a9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A beacon with an upgradeable implementation currently set as DurationVaultStrategy. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: EigenLayerOwningMultisig; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0fCE0A591D96BB76883323eF555867111E2050a9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x3f5Ab2D4418d38568705bFd6672630fCC3435CC9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EigenLayerBeigenOwningMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3f5Ab2D4418d38568705bFd6672630fCC3435CC9#code"
},
{
"name": "EmissionsController",
"isVerified": true,
"address": "eth:0x619F988b4EA2f896ED068d84cE6F52550d6acE84",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x29Db9526F3A95F3059A5d3a9A05B611eBA7dcA01"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772480807,
"transactionHash": "0x855f82a2d402d6f37a897e560e8c57482d4a56b7b086c84d988842455325bdbc",
"implementations": [
"eth:0x70323BC7261136A002ab392F921D67ea52096dCf"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0x29Db9526F3A95F3059A5d3a9A05B611eBA7dcA01"
]
}
],
"description": "* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x619F988b4EA2f896ED068d84cE6F52550d6acE84#code"
},
{
"name": "RewardsCoordinator",
"isVerified": true,
"address": "eth:0x7750d328b314EfFa365A0402CcfD489B80B0adda",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0xa0673C53980665a706352412D2538bA005403C26"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1721406755,
"transactionHash": "0x4bbe87b7d5fe27023599c6801806ca7bc875a1247dbc5d083608906cccaf910a",
"implementations": [
"eth:0x5bf7c13D5FAdba224ECB3D5C0a67A231D1628785"
]
},
{
"timestamp": 1727502371,
"transactionHash": "0x1d48a09a7b2985e2714c87e0d98a68eb51da3938b5e0c663b633bcf985b535a5",
"implementations": [
"eth:0xb6738A8E7793D44c5895B6A6F2a62F6bF86Ba8d2"
]
},
{
"timestamp": 1737492575,
"transactionHash": "0xef2204dcbb42fffa76f11d266a475be5f14a0f377acfa83cbfb9042db77d93e7",
"implementations": [
"eth:0x29A954e9e7F12936Db89b183ECdf879fBBB99F14"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xa505c0116aD65071F0130061F94745b7853220aB"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0x788E38bCe16Cd96E5588559703469efBA3Afb0cF"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0xa0673C53980665a706352412D2538bA005403C26"
]
}
],
"description": "Manages the distribution of rewards (arbitrary tokens, EIGEN) to restakers and commission to operators.\n* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7750d328b314EfFa365A0402CcfD489B80B0adda#code"
},
{
"name": "StrategyManager",
"isVerified": true,
"address": "eth:0x858646372CC42E1A627fcE94aa7A7033e7CF075A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
],
"implementations": [
"eth:0x88582996b70FDd7C4f16e3Fde7B53858FcE0d394"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1686348947,
"transactionHash": "0x1a21d3f2c0010ef91f57e2be2f5a85cddacc6c882d1868b89cbf1bb43c552e39",
"implementations": [
"eth:0x1f96861fEFa1065a5A96F20Deb6D8DC3ff48F7f9"
]
},
{
"timestamp": 1686348995,
"transactionHash": "0x81b4b8a4240e0ffeb65a97334f9c09c674c1e6f983ad78fd49695e4e7c1d5115",
"implementations": [
"eth:0x5d25EEf8CfEdaA47d31fE2346726dE1c21e342Fb"
]
},
{
"timestamp": 1712594159,
"transactionHash": "0x39a8f50ef3a5e0cba11b2556bcf3f95ece0797de15b2fdde2f5820361da19b13",
"implementations": [
"eth:0x70f44C13944d49a236E3cD7a94f48f5daB6C619b"
]
},
{
"timestamp": 1744929011,
"transactionHash": "0xf5cdad33da1d1a2f3a9b315ed67eab912df6e23fa98b4561f42ae1b4f5594ba2",
"implementations": [
"eth:0xba4b2b8A076851A3044882493C2e36503d50b925"
]
},
{
"timestamp": 1753131755,
"transactionHash": "0xf5d819a6b5fcc031b468d79e83bdb64e0417817f2b0b4f26e5b4ff84284af5a2",
"implementations": [
"eth:0x46aefd30415be99e20169eE7046F65784B46d123"
]
},
{
"timestamp": 1769807567,
"transactionHash": "0xa8752e124e6663065b31992010c93d687474a715a1cc8961cb98133f44729f9e",
"implementations": [
"eth:0xE09d4a1717C936ef021e14E72328128268B0CC3c"
]
},
{
"timestamp": 1773348563,
"transactionHash": "0x1a0f6a0330a783146ebeb8c81a23b18f945fc3c3bdcbdd8d3f7ea4d88761e94a",
"implementations": [
"eth:0x88582996b70FDd7C4f16e3Fde7B53858FcE0d394"
]
}
],
"description": "* Roles:\n * **admin**: EigenLayerProxyAdmin; ultimately EigenLayerCommunityMultisig, EigenLayerOperationsMultisig, EigenLayerOperationsMultisig2",
"upgradableBy": [
{
"name": "EigenLayerOperationsMultisig2",
"delay": "10d"
},
{
"name": "EigenLayerOperationsMultisig",
"delay": "10d"
},
{
"name": "EigenLayerCommunityMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x858646372CC42E1A627fcE94aa7A7033e7CF075A#code"
},
{
"name": "EigenLayerProxyAdmin",
"isVerified": true,
"address": "eth:0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EigenLayerOwningMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444#code"
},
{
"name": "StrategyBase",
"isVerified": true,
"address": "eth:0x8F6be4A906376bB4481E78cBF6FC783Cc0f8D1Ce",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8F6be4A906376bB4481E78cBF6FC783Cc0f8D1Ce#code"
},
{
"name": "DurationVaultStrategy",
"isVerified": true,
"address": "eth:0xC355123d0a51b4B5185aA7f21150904CEE3EAC97",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC355123d0a51b4B5185aA7f21150904CEE3EAC97#code"
}
]
},
"escrows": [
{
"address": "0x3C8cF0ae6E89AC0796f29B3a58e7dEa1cD072277",
"sinceTimestamp": 1753808975,
"tokens": [
"SYND"
],
"contract": {
"isVerified": false,
"address": "eth:0x3C8cF0ae6E89AC0796f29B3a58e7dEa1cD072277",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0x16957146Fe595627B1FcB16D8323ad8C71285c78"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753808975,
"transactionHash": "0x27b6afc1c07ea1052150e3a40bb98119165a976837e94d58c528f99fadd23888",
"implementations": [
"eth:0x16957146Fe595627B1FcB16D8323ad8C71285c78"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows SYND sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3C8cF0ae6E89AC0796f29B3a58e7dEa1cD072277#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6CA109706c6EBe5379c45f20B3311441D50cb711",
"sinceTimestamp": 1753824383,
"tokens": "*",
"contract": {
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0x6CA109706c6EBe5379c45f20B3311441D50cb711",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x481D290473e4f6929AA45CFb7Ef7c7847aBeD007"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1753824383,
"transactionHash": "0x4291a98b88b042d4e2d626bb5ffef3e77d7f5a3195913e65865a9e25bb751de8",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.",
"url": "https://etherscan.io/address/0x6CA109706c6EBe5379c45f20B3311441D50cb711#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot Syndicate",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "notVerified",
"hash": "0x2c9a9d645ae56304c483709fc710a58a0935ed43893179fe4b275e1400503ea7"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x0E40E41E6095A4f0607144a52d31C2F11a3FF1a1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x78C5D1C5794C61122d2F4fEfc441B5d69e0a1Df0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
{
"timestamp": 1737569829,
"transactionHash": "0xf99dd58af041164dc6a225a760822c2d28d41e836754dd84eefd9e4445a49791",
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
},
{
"timestamp": 1747088324,
"transactionHash": "0xe3dc71cb07fe7af204af6862884be9162b11cc7455660ff2be9562a12afd604c",
"implementations": [
"arb1:0x78C5D1C5794C61122d2F4fEfc441B5d69e0a1Df0"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0E40E41E6095A4f0607144a52d31C2F11a3FF1a1#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x2633ea91d15BeE85105C9b27E068f406F2F36a4a",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xc5d17f6e0025a23c0AAFf7832Cc531B3034602DA"
],
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1737569829,
"transactionHash": "0xf99dd58af041164dc6a225a760822c2d28d41e836754dd84eefd9e4445a49791",
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **anyTrustFastConfirmer**: WinrFastconfirmerMultisig; ultimately EOA 2\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 2, EOA 1\n * **validators**: EOA 11, EOA 13, EOA 15, EOA 18, EOA 2, EOA 20, EOA 23, EOA 25, EOA 27, EOA 28, EOA 29, EOA 3, EOA 4, EOA 5, WinrFastconfirmerMultisig; ultimately EOA 2",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2633ea91d15BeE85105C9b27E068f406F2F36a4a#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x8AeDdE55Cb361e73a0B0c0cF2A5bB35E97a20456",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x2CBa47e7734De9568C568C5b1b238B491Afbf73b"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
{
"timestamp": 1747088324,
"transactionHash": "0xe3dc71cb07fe7af204af6862884be9162b11cc7455660ff2be9562a12afd604c",
"implementations": [
"arb1:0x2CBa47e7734De9568C568C5b1b238B491Afbf73b"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **batchPosters**: EOA 10, EOA 12, EOA 14, EOA 16, EOA 17, EOA 19, EOA 21, EOA 22, EOA 24, EOA 26, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8AeDdE55Cb361e73a0B0c0cF2A5bB35E97a20456#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xF3f01622Ac969156760c32190995F9dC5b3eb7FA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF3f01622Ac969156760c32190995F9dC5b3eb7FA#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xc5d17f6e0025a23c0AAFf7832Cc531B3034602DA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1\n * **executors**: Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc5d17f6e0025a23c0AAFf7832Cc531B3034602DA#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x4FeBaEF286Ca477402dafCEeB17C64de481aFB42",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x2d682d33762eCd73fF07d1a7Ad95a06faE40CF44"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
{
"timestamp": 1747088324,
"transactionHash": "0xe3dc71cb07fe7af204af6862884be9162b11cc7455660ff2be9562a12afd604c",
"implementations": [
"arb1:0x2d682d33762eCd73fF07d1a7Ad95a06faE40CF44"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4FeBaEF286Ca477402dafCEeB17C64de481aFB42#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0xBA99217992620b76aae0D574c70bD313B30D3D1d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xBA99217992620b76aae0D574c70bD313B30D3D1d#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x07d24d32D8F522793faEEebA16BbB97441664374",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x07d24d32D8F522793faEEebA16BbB97441664374#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x3524251c60e04889bB578fE6B2e2Ad86C6Fc48ad",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3524251c60e04889bB578fE6B2e2Ad86C6Fc48ad#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x74D50DbaCfef02d3dAC141b0bC40195886d7ECF7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine. This version uses the Blobstream DA bridge (ArbitrumBlobstream) as source of truth for the DA referenced by the fault proof.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x74D50DbaCfef02d3dAC141b0bC40195886d7ECF7#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x759dbcB5E12E6bA091919c94BAa70A4797fd3D0d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x759dbcB5E12E6bA091919c94BAa70A4797fd3D0d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x802c7B6585d20cb69524EF23fCbF919F671F808a#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xe966442c0E8F28C48eF4F02BfF7a29876Dcd30CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 2, EOA 1",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
},
{
"name": "Conduit Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe966442c0E8F28C48eF4F02BfF7a29876Dcd30CC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xf951C50162Ce1aEC93464aCFe90F755EC9878b5f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf951C50162Ce1aEC93464aCFe90F755EC9878b5f#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayArb",
"isVerified": true,
"address": "arb1:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "arb1:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "ArbitrumBlobstream",
"isVerified": true,
"address": "arb1:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x738a9b55304f9fcF776B3BA285e50c0f9eF77997"
],
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1710651080,
"transactionHash": "0x58059198a17ae1d8dd73b4d0f0ce7169f4e55d901a8fea59b4ef12d005a41f0a",
"implementations": [
"arb1:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724776,
"transactionHash": "0xf45e346ddbedef1ea3f828954c979adcb205b4b1c0ca72e49e7e2ef5b1c43192",
"implementations": [
"arb1:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698402,
"transactionHash": "0x746e21628ccec4d5b4da96595f852a6398defcc360cb9f13aa2d84ebe4e7403f",
"implementations": [
"arb1:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166545,
"transactionHash": "0x07dbff15e24a8c124a927a2881cb4d471ace180488a56a56b43b47d1da68a130",
"implementations": [
"arb1:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 30, EOA 31",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"base": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGatewayBase",
"isVerified": true,
"address": "base:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "base:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "base",
"description": "",
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "BaseBlobstream",
"isVerified": true,
"address": "base:0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"base:0x6ABa5D2084362038C9640a8851ff3b8BCbA81Ca6"
],
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "base",
"pastUpgrades": [
{
"timestamp": 1710651207,
"transactionHash": "0x4549f6dd026054361c6ec3372f446d9a594205d6a2681001f4d3567ef55d8d73",
"implementations": [
"base:0x7C3A9b466FF5c02582fa32d4aD1b2Cb431fB7c9b"
]
},
{
"timestamp": 1710724833,
"transactionHash": "0xcc77a9f79cc2dc869a5b2afcb9abe14014680e03797e00244a4580deb278eee8",
"implementations": [
"base:0xfb19439fBa9f16aA720be6bE0e53465a9733C964"
]
},
{
"timestamp": 1724698369,
"transactionHash": "0xd2efcdcc2ae2c8725a9d68bcce93edf7f4e2c5326ec75e9aea9cbdb6dfc7c6d3",
"implementations": [
"base:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166563,
"transactionHash": "0x972e1b10b3fd4c52bbd75c6215f12438b15229c9f609ad42273eb3985d8e4767",
"implementations": [
"base:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 32, EOA 33",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://basescan.org/address/0xA83ca7775Bc2889825BcDeDfFa5b758cf69e8794#code"
}
],
"ethereum": [
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SP1VerifierGateway",
"isVerified": true,
"address": "eth:0x3B6041173B80E77f038f3F2C0f9744f04837185e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract is the router for zk proof verification. It stores the mapping between identifiers and the address of onchain verifier contracts, routing each identifier to the corresponding verifier contract.\n* Roles:\n * **owner**: SP1VerifierGatewayMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B6041173B80E77f038f3F2C0f9744f04837185e#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A#code"
},
{
"name": "EthereumBlobstream",
"isVerified": true,
"address": "eth:0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8bF34D8df1eF0A8A7f27fC587202848E528018E6"
],
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1717615307,
"transactionHash": "0xf156e666fc403369415601ab683befc8e177f698b69a4c4c313706127ec18a86",
"implementations": [
"eth:0x41a87C543EBcbD93706CF5260AD057D9eCBA1caE"
]
},
{
"timestamp": 1724698523,
"transactionHash": "0x2cbc956737b46bd304d04f3051a65e311686d35792c54c67030d0c5417e76508",
"implementations": [
"eth:0x47fd660D5252Bd6F9D2c71507E46aa1d6e957c23"
]
},
{
"timestamp": 1733166527,
"transactionHash": "0xcc2a77da632e84e5fb17e863ec744d5f0921b70c191487179dd9e28ab855a3be",
"implementations": [
"eth:0x46EbfC399d3913BB9b99E73675722417F9c5d416"
]
}
],
"description": "The Blobstream DA bridge. This contract is used to bridge data commitments between Celestia and the destination chain. It specifies relayers that commit block ranges, but due to the lack of emitted events, there may be more relayers than are presented here.\n* Roles:\n * **admin**: BlobstreamMultisig\n * **guardians**: BlobstreamMultisig\n * **relayers**: EOA 34, EOA 35",
"upgradableBy": [
{
"name": "BlobstreamMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7Cf3876F681Dbb6EdA8f6FfC45D66B996Df08fAe#code"
}
]
},
"escrows": [
{
"address": "0xF3f01622Ac969156760c32190995F9dC5b3eb7FA",
"sinceTimestamp": 1715799374,
"tokens": [
"WINR"
],
"contract": {
"isVerified": true,
"address": "arb1:0xF3f01622Ac969156760c32190995F9dC5b3eb7FA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x802c7B6585d20cb69524EF23fCbF919F671F808a"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1715799374,
"transactionHash": "0x42fc27511b05dc35424565463d5dd348283c330d05c963396ee1a68526ac56a5",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1745618146,
"transactionHash": "0xb219997f52a5ffaeb50fb6de4b69cefdd4f1844879a102820ce0878df63bc80b",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows WINR sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xF3f01622Ac969156760c32190995F9dC5b3eb7FA#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x8E83aED64a0Ad5d7d3A57B6172F14FcA5bfADE56",
"sinceTimestamp": 1722608545,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC.e"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x6aDFbA9e45b5c1685007Fe48A784e971e412f839",
"sinceTimestamp": 1722608646,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDC"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x8b961A67f49bc6334CBA09dbd70a2F14Fc8226a1",
"sinceTimestamp": 1722608661,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"WETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x88FA3A8624065f3Bf2eDe507b6Fd554C58e5b785",
"sinceTimestamp": 1722608675,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"wBTC"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x3222f0F281F1630C50f86fFaA29A29A06559eca8",
"sinceTimestamp": 1722608690,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"USDT"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x0aE2F220cE9698b1c9853f7288aC882150291dca",
"sinceTimestamp": 1722608704,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"ETH"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x023d27390aEd70aA39823A1e1e06a0b075400214",
"sinceTimestamp": 1724262320,
"source": "external",
"bridgedUsing": {
"bridges": [
{
"name": "Socket bridge",
"slug": "socket"
}
]
},
"tokens": [
"ARB"
],
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"arbitrum": [
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb1:0x3a3f62034a42a35eA1686B199bB73006aa525eE4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x09824fe72BFF474d16D9c2774432E381BBD60662"
]
},
{
"timestamp": 1724175060,
"transactionHash": "0x6c1bbf992f2fe7d5bb565a16a55f85bda8e565c4b26cb742a6f841ca8a5d9f80",
"implementations": [
"arb1:0x5cA988F213EfbCB86ED7e2AACB0C15c91e648f8d"
]
},
{
"timestamp": 1734381545,
"transactionHash": "0x1621d4d8758255b5b5ac8feb35fd9358c768eb27f61784ff0db9dbb54a6e268f",
"implementations": [
"arb1:0x5AA806015FEC88669bF7DAd746BB4ADC1E79BcED"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3a3f62034a42a35eA1686B199bB73006aa525eE4#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1750178124,
"transactionHash": "0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1724175060,
"transactionHash": "0x6c1bbf992f2fe7d5bb565a16a55f85bda8e565c4b26cb742a6f841ca8a5d9f80",
"implementations": [
"arb1:0x7a299aD29499736994Aa3a9aFa3f476445FAEB2c"
]
},
{
"timestamp": 1750178124,
"transactionHash": "0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig\n * **batchPosterManager**: XaiMultisig2; ultimately EOA 3, EOA 5, EOA 6\n * **batchPosters**: EOA 4",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x995a9d3ca121D48d21087eDE20bc8acb2398c8B1#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0x0EE7AD3Cc291343C9952fFd8844e86d294fa513F"
],
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb1:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1734381545,
"transactionHash": "0x1621d4d8758255b5b5ac8feb35fd9358c768eb27f61784ff0db9dbb54a6e268f",
"implementations": [
"arb1:0xdD91f6e88576fEc4A38A518DA39C92e13CBB6446",
"arb1:0x1BeD37FeDFE8B2721a69A559313D2b58d16Ecd77"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately XaiMultisig\n * **owner**: UpgradeExecutor; ultimately XaiMultisig\n * **validators**: EOA 1, EOA 2",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xC47DacFbAa80Bd9D8112F4e8069482c2A3221336#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0x0EE7AD3Cc291343C9952fFd8844e86d294fa513F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig\n * **executors**: XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0EE7AD3Cc291343C9952fFd8844e86d294fa513F#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x1E400568AD4840dbE50FB32f306B842e9ddeF726",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1E400568AD4840dbE50FB32f306B842e9ddeF726#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xaE21fDA3de92dE2FDAF606233b2863782Ba046F9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1750178124,
"transactionHash": "0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xaE21fDA3de92dE2FDAF606233b2863782Ba046F9#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0xb591cE747CF19cF30e11d656EB94134F523A9e77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704476020,
"transactionHash": "0x95b16bf92d7d8be9f95d0b1c9080f1b7ced6fe028b8db3aef5d5ebfadd330ea4",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xb591cE747CF19cF30e11d656EB94134F523A9e77#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x22CCA5Dc96a4Ac1EC32c9c7C5ad4D66254a24C35",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704476020,
"transactionHash": "0x95b16bf92d7d8be9f95d0b1c9080f1b7ced6fe028b8db3aef5d5ebfadd330ea4",
"implementations": [
"arb1:0xd106EC93D2c1adaA65C4B17ffc7bB166Ce30DDAe"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x22CCA5Dc96a4Ac1EC32c9c7C5ad4D66254a24C35#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x041F85dD87c46B941dc9b15c6628B19ee5358485#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x33c1514Bf90e202d242C299b37C60f908aa206D4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x33c1514Bf90e202d242C299b37C60f908aa206D4#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0x36aDe24988E4C47602e38BD9a0Bd89031eF807a8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately XaiMultisig",
"upgradableBy": [
{
"name": "XaiMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x36aDe24988E4C47602e38BD9a0Bd89031eF807a8#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x54E0923782b701044444De5d8c3A45aC890b0881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x54E0923782b701044444De5d8c3A45aC890b0881#code"
},
{
"name": "PoolProxyDeployer",
"isVerified": true,
"address": "arb1:0x68D78D1E81379EfD9C61f8E9131D52CE571AF4fD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723"
],
"implementations": [
"arb1:0xb6773d5bF5b908B58ff5B7Bd36A7F06Da2EeeEc7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712865943,
"transactionHash": "0x1d33f114f23d1a440e30f20492a1db93ff86ae4f2962fb63880ceeb8286aaa4d",
"implementations": [
"arb1:0xb6773d5bF5b908B58ff5B7Bd36A7F06Da2EeeEc7"
]
}
],
"description": "Manages beacon addresses for the v2 staking pools.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x68D78D1E81379EfD9C61f8E9131D52CE571AF4fD#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb1:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "GasSubsidy",
"isVerified": true,
"address": "arb1:0x94F4aBC83eae00b693286B6eDCa09e1D76183C97",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723"
],
"implementations": [
"arb1:0xF208798482F0b12c8767Bc03cC0F145D18BeCe6A"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1701801219,
"transactionHash": "0x27bfccd3c53bc633ff2c6a39fcb5fbf16af67dc64f9d0d52ede0b3e560c569aa",
"implementations": [
"arb1:0xF208798482F0b12c8767Bc03cC0F145D18BeCe6A"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x94F4aBC83eae00b693286B6eDCa09e1D76183C97#code"
},
{
"name": "NodeLicenseRegistry",
"isVerified": true,
"address": "arb1:0xbc14d8563b248B79689ECbc43bBa53290e0b6b66",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723"
],
"implementations": [
"arb1:0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1701801243,
"transactionHash": "0x1e84fa92f23fbccf9cf1643c17925016357a95e123d7d14cc9a77d029d8dbac2",
"implementations": [
"arb1:0xf765452e587Ad0AE785Dc984963897c05d4c8c71"
]
},
{
"timestamp": 1701835201,
"transactionHash": "0x9ae9ee043ee573f154f2492f6c27d5ca0cc9d1f47782d4b24e80cd39bb0ae378",
"implementations": [
"arb1:0x471f1a92a8099f7011Aa3f2E011569618bD754EC"
]
},
{
"timestamp": 1702323564,
"transactionHash": "0xd725096169b7a13791098567acf188d77352be120daefb359dad64e29f6bfa9b",
"implementations": [
"arb1:0x471f1a92a8099f7011Aa3f2E011569618bD754EC"
]
},
{
"timestamp": 1702325988,
"transactionHash": "0x2b66dc25759528967307ed0312d2e93df71090403ce9e8fd5bbac911422832e8",
"implementations": [
"arb1:0xC2b691250fD85bF7eC91Dd4f13eF1e76678395B2"
]
},
{
"timestamp": 1703020283,
"transactionHash": "0x89f6075f97adb62d17be41a8999871a4bb5c1cdeb6e401a1576778cd20349374",
"implementations": [
"arb1:0xAED4aF101d3e64114051E63F12265403d6Cb9B10"
]
},
{
"timestamp": 1703270003,
"transactionHash": "0x905ed5655eb2c04a8da6680ec35d9d7c1ab3aaa090535303cc102d9780fa845c",
"implementations": [
"arb1:0xfD6Bb931D2Ee134E70568ca36584c043cB278734"
]
},
{
"timestamp": 1703283686,
"transactionHash": "0xc51ad222fec5ee76441a0324273ecc4ded2d9dd605fa57523c7f6dc61ef8d8f1",
"implementations": [
"arb1:0xa2815b0F4A99799aeb9d5cb73501E43f5197dDD1"
]
},
{
"timestamp": 1703289266,
"transactionHash": "0xf68ea634ab9dcdd7613e3037be47fbf0daf5e6814a95b3fe32c8f2d077d01444",
"implementations": [
"arb1:0xfD6Bb931D2Ee134E70568ca36584c043cB278734"
]
},
{
"timestamp": 1733507554,
"transactionHash": "0x394e784074ba95b55fdcea26980e75c894d6fe1295153b97cdb456d010c2a3a0",
"implementations": [
"arb1:0xE6E5356423516C9b75d4Dfb1fCa3973c5B695be8"
]
},
{
"timestamp": 1733844458,
"transactionHash": "0x2b7d573f6a4f5b1d188483697b9767e34ea3e2dcf6e534785bb2b764a4de2428",
"implementations": [
"arb1:0xC6BccA5297Cd4511250E2D3241bEd586631E2aA0"
]
},
{
"timestamp": 1734053329,
"transactionHash": "0x2076fd7a582c2de1357c834161c5e856568af154e7101ede7f363eab012df090",
"implementations": [
"arb1:0x14e6e53dc0E4d0d02644a96F4bC1798A7876db49"
]
},
{
"timestamp": 1734141508,
"transactionHash": "0x243eb3ec2ccf3d1d472d5a49df0f738f93262df905c8868a72dc4066546b4a2c",
"implementations": [
"arb1:0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f"
]
},
{
"timestamp": 1737731258,
"transactionHash": "0x025a28d701b30dbf6fc0ca576181c2ecc3cfb30d5205532aadd550d10f535717",
"implementations": [
"arb1:0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f"
]
},
{
"timestamp": 1737732257,
"transactionHash": "0xb08517cbb3644011a4a1926eb549db2944720643bf9ab8dfd2d3356aafb41a07",
"implementations": [
"arb1:0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f"
]
},
{
"timestamp": 1737732709,
"transactionHash": "0xa3fbb4e461026eb346c5ac9650d8f9b56db4383ecebc15f9fde0a5440b011710",
"implementations": [
"arb1:0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f"
]
},
{
"timestamp": 1737733606,
"transactionHash": "0x3112b63199a312c047fa30fc3edee4e9e95209b9cd93cf6d947fefd45fc33995",
"implementations": [
"arb1:0xe72b004FCa3A05251c6C8d1BF1482B9308876c7f"
]
},
{
"timestamp": 1737735291,
"transactionHash": "0x8b0eeb52fc85a07634fe5b2408f0b97d395c9e6ef9707e7e13db5e6e73f45f4a",
"implementations": [
"arb1:0x249b8A8AF9152A08Ba3cF3E106962566E8343fB6"
]
}
],
"description": "This is the contract where Xai Sentry Keys for running a sentry node are minted.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xbc14d8563b248B79689ECbc43bBa53290e0b6b66#code"
},
{
"name": "RefereeCalculations",
"isVerified": true,
"address": "arb1:0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723"
],
"implementations": [
"arb1:0x1488598b22Cc196Aa547894493BC2313a8A00C1e"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1730222058,
"transactionHash": "0x81688f6d7848854fecc257f024bf46b66d2019fdd75590e137b0f91db2f7089e",
"implementations": [
"arb1:0x5A195953555A11d2a4b654DCa3aE4f9f19eBC3E2"
]
},
{
"timestamp": 1733852290,
"transactionHash": "0x20e602e4c1899b6cb255bb9db60aebb18a0a89f0087ad8ffc50492d6e89302b7",
"implementations": [
"arb1:0x1488598b22Cc196Aa547894493BC2313a8A00C1e"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xCd62360854aecf6285Fa310D69C5EBaf4Cd5e95F#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: SafeL2",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0xD89d54007079071cBA859127318b9F34eeB78049",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD89d54007079071cBA859127318b9F34eeB78049#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE58a2dEb5718F9aAF2C1DdD0E366ED076D204cc4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf8E5e5562c2c12d8690786f5C9FA65F20F6bD881#code"
},
{
"name": "PoolFactory",
"isVerified": true,
"address": "arb1:0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723"
],
"implementations": [
"arb1:0xf7f1F9d67a46452da30d4125Ff39ED216e975E24"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1712865940,
"transactionHash": "0x36bec95cbfc75ccbf4d52c9bb080ebbbc2a9ecebffe7134574a4ea3bfdab8260",
"implementations": [
"arb1:0x21EEC6626f15d02A8896ebB7EDD68ff3CB61e89E"
]
},
{
"timestamp": 1733844468,
"transactionHash": "0x719feb67c546cad4f43b5e741590f7b2258e896049163656eccb2f598515adc4",
"implementations": [
"arb1:0x5bfd44421b5E0405F8cfcc17463522AF6b9e1Ab3"
]
},
{
"timestamp": 1734050208,
"transactionHash": "0x869e99caece9b22a813fc83475c90e783b6ac2e37aa192780fcfb7491770e79d",
"implementations": [
"arb1:0xec287a91Ac0b72Ba7f249c08a2c64dA317eF9715"
]
},
{
"timestamp": 1734107094,
"transactionHash": "0xf515093e32598c21145005613e2d1f385b8d902d4642aacb4e6caa0f799aee27",
"implementations": [
"arb1:0x2095FE5CEDBE22Afc2174daC57cB6831954A560D"
]
},
{
"timestamp": 1737735300,
"transactionHash": "0xa80c27748c9137241e6b9591876c5e707cb35cd6caede27039fb117513be6371",
"implementations": [
"arb1:0xf7f1F9d67a46452da30d4125Ff39ED216e975E24"
]
}
],
"description": "The PoolFactory allows creating and managing staking pools for V2 staking. Users can stake esXAI (and / or Sentry Keys) in pools. This contract's address is whitelisted in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. V2 staking through this contract is currently set to true.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xF9E08660223E2dbb1c0b28c82942aB6B5E38b8E5#code"
},
{
"name": "SentryReferee",
"isVerified": true,
"address": "arb1:0xfD41041180571C5D371BEA3D9550E55653671198",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xD88c8E0aE21beA6adE41A41130Bb4cd43e6b1723"
],
"implementations": [
"arb1:0x9e3e14576EBd9595eFB0d71aA9Ff51a6DC621bAF"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1701801226,
"transactionHash": "0xd22a7b97d2044a20b20a8105857d435ba98254e2a147c0890140ffe3fc55ebdf",
"implementations": [
"arb1:0x29A7b907FdF4a9235F46d891b7Aa1e7d3D35A3b6"
]
},
{
"timestamp": 1709066999,
"transactionHash": "0x3bb7393b7a848ccd4e966dce1cbbf23673975e226ec96131851fb88daf8b3625",
"implementations": [
"arb1:0x4110251275f1b1f8e6Ce7114139D69597fdAd474"
]
},
{
"timestamp": 1709319049,
"transactionHash": "0xe2508a91718906def7b9c9454e03328ee73ae67606aa32092c762b040007ad55",
"implementations": [
"arb1:0x10edA49fA8C6594cC6783CA5d7a6677d9e3236c1"
]
},
{
"timestamp": 1709321848,
"transactionHash": "0x2c90459e0d4cc3d399dc71cee133be9c5cecf13d92d036e73a004cfa9798a5c0",
"implementations": [
"arb1:0x254954e3F6BD7443444036BeA2d8fE88fdf496c1"
]
},
{
"timestamp": 1712865947,
"transactionHash": "0xa0be7103c9cb256cddfce11ea243bc9b9db3c96bc4be86603939805841cc84fa",
"implementations": [
"arb1:0x5538622Ad2F14bf781Af032542F7f00f080EB4CD"
]
},
{
"timestamp": 1713279064,
"transactionHash": "0xa614a91d07acd9279e9676411ba9cf79c16ba271d28e537fed96f909da45dc8b",
"implementations": [
"arb1:0x680F4a9f47E4Cfea124a5654E759cB3b0a0C837c"
]
},
{
"timestamp": 1715882482,
"transactionHash": "0x6abdf6ba925c03704c581f1b0ad7de9da84cbb70945bdd2da22c8b0eb7e98a8b",
"implementations": [
"arb1:0xFf38Aa9D553bE47eee329F968ADF0C74A01D021c"
]
},
{
"timestamp": 1717783023,
"transactionHash": "0xb9e3b5041f4683bafc0939b4a657467a6f545194ef17d3ba6980093138e3a6e5",
"implementations": [
"arb1:0x609152cb742916E0F7FBC4391Be750C458b049fe"
]
},
{
"timestamp": 1730226428,
"transactionHash": "0x526befebd96c284baeeb94980c3561d88cc1ba40fb12c1c8b8db78b29b18ce20",
"implementations": [
"arb1:0xfCa2657FC4456Ac256A78A31aAB1128F5e1d2D40"
]
},
{
"timestamp": 1733844425,
"transactionHash": "0x7de66eae5bdbc8b25d8c61bc496b8022ca928b709de3dd72e7de1951fab33ecd",
"implementations": [
"arb1:0x119B21e962B6C5e57340a3CCeCFC3a90385A70dC"
]
},
{
"timestamp": 1734050198,
"transactionHash": "0x58b76b23b8bb0f3ba0bf4d2807f545b1838c527e3a71d18fe2369ee7bf6c12ca",
"implementations": [
"arb1:0x1f122B41D6740F5dE2Df93b8b00013e84227955e"
]
},
{
"timestamp": 1734221228,
"transactionHash": "0xd4a4e9be6cfdbb76dec68088cfa15e609b8d3356755c15de6e411c9034963c63",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737731248,
"transactionHash": "0x41eec03f04ad675911734c1573ae8d6766bac712ea20c38d1ea7057d6ee8098b",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737732250,
"transactionHash": "0x42dfaba49eb879651685f113a24f6ddc0e914579c7d05ab905a1815860e0d529",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737732705,
"transactionHash": "0x4d3a599492e7d982a2554108bec654ca4447f767aacb70e58407bf1056b1ed3f",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737733603,
"transactionHash": "0x692de1bd88655fadaa1f09626dcfccffd1bacacfdcb224c1c3d68e52e95032e6",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737733930,
"transactionHash": "0xddc24c8d248d8b36496c8e9349e971c1e66d13587c13f92d34d6d6716e78cd16",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737734540,
"transactionHash": "0x2d6a11cbf1bc416dd2ff21b2b9e803c0c5289268540c847d178b85f7be33ddbd",
"implementations": [
"arb1:0x4F18941fE5bE7a54318989b2C42648914dCe47C4"
]
},
{
"timestamp": 1737735034,
"transactionHash": "0x0ea3848ffb8f1e5de41e688a5ede3772e8151ecdfd415c7517e69d38f4d27166",
"implementations": [
"arb1:0x206Cd481aB724ab2f9931bBdDFFa11fF07eB6C97"
]
},
{
"timestamp": 1743708779,
"transactionHash": "0x0f58dca431e80fdf25bbdf67f072395d9ab4901e11b4c9d1334b228d9c92b60c",
"implementations": [
"arb1:0x9e3e14576EBd9595eFB0d71aA9Ff51a6DC621bAF"
]
}
],
"description": "The referee contract manages the Xai Sentry protocol. Sentry nodes that are tasked to watch the state transitions on Xai receive esXAI rewards for their service. These watchers participate in a game with a central 'challenger' by posting their assertions to make sure they are actually watching. In case of a malicious state transition, sentries are supposed to raise an alarm offchain. The referee contract is also a whitelisted address in the esXAI token contract, which allows it to initiate arbitrary esXAI token transfers. New staking through this contract is disabled in favor of the new v2 staking. V1 Stakers can continue to get staking rewards here or withdraw/migrate their assets.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xfD41041180571C5D371BEA3D9550E55653671198#code"
}
]
},
"escrows": [
{
"address": "0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f",
"sinceTimestamp": 1704309371,
"tokens": [
"XAI"
],
"contract": {
"isVerified": true,
"address": "arb1:0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704309371,
"transactionHash": "0xcefe7ebaac7f573d70560f840c228fd589c04b9f6fbcfc85a9bf28b8d96d89e5",
"implementations": [
"arb1:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1750178124,
"transactionHash": "0x0bffc86532a4516d20f749152de577c8277edfd4c6aa9be23d51a1ef5d39b3e4",
"implementations": [
"arb1:0xdF0eaCC3F37356DF320e5B5db16C7eD7A6b596dd"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows XAI sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x7dd8A76bdAeBE3BBBaCD7Aa87f1D4FDa1E60f94f#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0xb591cE747CF19cF30e11d656EB94134F523A9e77",
"sinceTimestamp": 1704476020,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0xb591cE747CF19cF30e11d656EB94134F523A9e77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x041F85dD87c46B941dc9b15c6628B19ee5358485"
],
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1704476020,
"transactionHash": "0x95b16bf92d7d8be9f95d0b1c9080f1b7ced6fe028b8db3aef5d5ebfadd330ea4",
"implementations": [
"arb1:0x8b73Ef238ADaB31EBC7c05423d243c345241a22f"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0xb591cE747CF19cF30e11d656EB94134F523A9e77#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}
+2 -1
+2 -1
{
"addresses": {
"ethereum": [
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x2Be65c5b58F78B02AB5c0e798A9ffC181703D3C1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2Be65c5b58F78B02AB5c0e798A9ffC181703D3C1#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x47861E0419BE83d0175818a09221B6DF2EFD7793",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x958985cf2c54f99ba4a599221A8090C1F9Cee9A5"
]
},
{
"timestamp": 1716496451,
"transactionHash": "0xc0e712054d68a04705baff16b7a9a90250799a1747911b98720cdb6c41d64b68",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1745879339,
"transactionHash": "0x5adbb6f82d9025a1f43f2b84b97d65c1ee2790f1db392e95ad839d2df89fc059",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1\n * **batchPosters**: EOA 10, EOA 11, EOA 12, EOA 15, EOA 16, EOA 17, EOA 18, EOA 6, EOA 7",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x47861E0419BE83d0175818a09221B6DF2EFD7793#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0xC0880Eea7Ad1B28a39344D48B411bC96f3daf60D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1737988943,
"transactionHash": "0xd42a54d12572f4bf947d60e6a7d18eec03dab7c27774141a243e1d2bcb329dd9",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC0880Eea7Ad1B28a39344D48B411bC96f3daf60D#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xeb61c3FA03544021cf76412eFb9D0Ce7D8c0290d",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x20195677a6De5f0f7dF4e21cE48F0D24e5477110"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1737988943,
"transactionHash": "0xd42a54d12572f4bf947d60e6a7d18eec03dab7c27774141a243e1d2bcb329dd9",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Conduit Multisig 1, EOA 1\n * **anyTrustFastConfirmer**: GnosisSafeL2; ultimately EOA 2\n * **owner**: UpgradeExecutor; ultimately Conduit Multisig 1, EOA 1\n * **validators**: EOA 13, EOA 14, EOA 19, EOA 2, EOA 3, EOA 4, EOA 5, EOA 8, EOA 9, GnosisSafeL2; ultimately EOA 2",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeb61c3FA03544021cf76412eFb9D0Ce7D8c0290d#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x20195677a6De5f0f7dF4e21cE48F0D24e5477110",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1\n * **executors**: Conduit Multisig 1, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x20195677a6De5f0f7dF4e21cE48F0D24e5477110#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x0b8071337dcB089478Ea740efC10904d9F359141",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0b8071337dcB089478Ea740efC10904d9F359141#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xE961Ef06c26D0f032F0298c97C41e648d3bb715a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x1162084C3C6575121146582Db5BE43189e8CEe6b"
]
},
{
"timestamp": 1745879339,
"transactionHash": "0x5adbb6f82d9025a1f43f2b84b97d65c1ee2790f1db392e95ad839d2df89fc059",
"implementations": [
"eth:0xf3830309BdfADcC7eEEF99C2EeA879D5fA6C756C"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE961Ef06c26D0f032F0298c97C41e648d3bb715a#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x22010F5C4c106dfBaffec780196d2F691860Ff62#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x6c8faa6b06d4bDD5Af628ac28954736a0fC0BD6b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x13BE515E44Eefaf3eBEFAD684F1FBB574Ac0A494"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1, EOA 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6c8faa6b06d4bDD5Af628ac28954736a0fC0BD6b#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
}
]
},
"escrows": [
{
"address": "0x2Be65c5b58F78B02AB5c0e798A9ffC181703D3C1",
"sinceTimestamp": 1716494507,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x2Be65c5b58F78B02AB5c0e798A9ffC181703D3C1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x22010F5C4c106dfBaffec780196d2F691860Ff62"
],
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1716494507,
"transactionHash": "0x07ff03aac60a3749cb5933d26f371a1d9956dcd6a045c719a91159c8b8d5e976",
"implementations": [
"eth:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x2Be65c5b58F78B02AB5c0e798A9ffC181703D3C1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
],
"zkVerifiers": []
}