00448b8c (main)
and
62b20df9 (PR)
+1 -1
+1 -1
{
"baseTimestamp": 1786966176,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1787310854,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+5 -5
+4 -4
{
"addresses": {
"ethereum": [
{
"name": "FastWithdrawalList",
"isVerified": true,
"address": "eth:0x3eFc3c84ecf259Da36E33692f2a107A0AB88D30E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x94F068ee9A23F3F883bdE060502a46E9C4EeAb25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1776720647,
"transactionHash": "0x78106cf05ac5ded33961c11e23dbb44bdb6f96fdec0283f55c479f57c88ebf0f",
"implementations": [
"eth:0x94F068ee9A23F3F883bdE060502a46E9C4EeAb25"
]
}
],
"description": "Per-token rate-limit registry for the optimistic (preconfirmed) fast-withdrawal path. Enforces hourly and daily caps using rolling windows keyed by block timestamp; related tokens (e.g. ETH and WETH) can be aliased to a shared bucket to prevent cap evasion.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3eFc3c84ecf259Da36E33692f2a107A0AB88D30E#code"
},
{
"name": "NativeGateway",
"isVerified": true,
"address": "eth:0x8976Ca4E0c8467097Da675399fB7DB454a1b56dd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x33C0B99F3210a9578d81d5B13dEC03160F58ff11"
],
"implementations": [
"eth:0x025f11FedA181E2Ba63bb86536DD987E0769f586"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775739563,
"transactionHash": "0x7e992147bddd61de0f8c13840203f14802196eb89605508418ad4f634394143e",
"implementations": [
"eth:0x482Df12fbc3BA7A7f02Aa928e620fd12aF5Fd30e"
]
},
{
"timestamp": 1776358595,
"transactionHash": "0xd965bd1614a8301bfb88f5bc4f6f1d3c3914df56a895ddd21c38796e03a4f790",
"implementations": [
"eth:0xbA3d3B60b6f462AA3fb2D63F8B610Fa8825c3019"
]
},
{
"timestamp": 1776720683,
"transactionHash": "0x0e1838d3baa70b38111493feb6d09029ff0f0b594ea9619c9c28b9442ff30ffb",
"implementations": [
"eth:0x025f11FedA181E2Ba63bb86536DD987E0769f586"
]
}
],
"description": "L1 entry point for ETH deposits into Fluent. Forwards ETH to L1FluentBridge for actual escrow custody and emits the corresponding bridge message. UUPS-upgradeable; upgrades are gated by the contract owner.\n* Roles:\n * **admin**: FluentMultisig",
"upgradableBy": [
{
"name": "FluentMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8976Ca4E0c8467097Da675399fB7DB454a1b56dd#code"
},
{
"name": "L1FluentBridge",
"isVerified": true,
"address": "eth:0x9CAcf613fC29015893728563f423fD26dCdB8Ddc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xF67255be817061139C9DeeA757f7276916cBF849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775739227,
"transactionHash": "0x41d58e18be407db8b25d9d8c198f42d88ef67104ae3286e1e318ec2d67b251c3",
"implementations": [
"eth:0xF10F4D565d050BEeb9e37A548853B9c88Fd65373"
]
},
{
"timestamp": 1776358511,
"transactionHash": "0xcf06c58c5a0a601390bb3835778a390bd0b2b25c675319feeef96a4a83940112",
"implementations": [
"eth:0x52f9e37FeDd9EF7d5eCB24D77cff40d5337A5770"
]
},
{
"timestamp": 1776457763,
"transactionHash": "0x9a92a1828c2b689acab26e5ab139ad6faa2bec120c7462d9d3b01bffb708489a",
"implementations": [
"eth:0xfF0Ef75C7a2942294A5a828b1c11F7aF618De4cA"
]
},
{
"timestamp": 1776591743,
"transactionHash": "0x75ee505dc6be60d16c93c7dd6cfc33b99439de51561aed0c9fbe65e278095437",
"implementations": [
"eth:0xA0374Fa5324f4A255693Eb6B35236a21C24392f8"
]
},
{
"timestamp": 1776719975,
"transactionHash": "0x0d5b3fa6d88af319cbae57d5dd3b53ce6749e90690ddaa2f8497d40ca19adf44",
"implementations": [
"eth:0x95c76524803B8EA61c910dc0cB02B76efD6D3791"
]
},
{
"timestamp": 1776720671,
"transactionHash": "0xc78efc4e911d121701277a5eb494c8e74aad26a4b18f358d655e955cc7747c02",
"implementations": [
"eth:0x047AaDf25df7D17bB5B6b1FF31cecD1E4973C227"
]
},
{
"timestamp": 1779289223,
"transactionHash": "0x5683f1be2880db1238db0cafc17623f895de685541543b5fd577efdfec53429c",
"implementations": [
"eth:0xF67255be817061139C9DeeA757f7276916cBF849"
]
}
],
"description": "Bridge core for Fluent. Routes deposits from L1 gateways into a FIFO queue consumed by the sequencer, and lets anyone process L2->L1 messages with two Merkle proofs against a preconfirmed or finalized batch root. Custodies bridged ETH on L1 (gateways forward ETH here on deposit). UUPS-upgradeable; upgrades and gateway-whitelist / oracle / pause changes are gated by DEFAULT_ADMIN_ROLE.\n* Roles:\n * **defaultAdmin**: FluentMultisig\n * **pauser**: FluentMultisig",
"upgradableBy": [
{
"name": "FluentMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9CAcf613fC29015893728563f423fD26dCdB8Ddc#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xFD4C62647A34FF6d6802092F5fbe176099223B61",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x33C0B99F3210a9578d81d5B13dEC03160F58ff11"
],
"implementations": [
"eth:0x81e1158368bD28Cc6E8380852087a9512A9670fB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775739563,
"transactionHash": "0x407471f08b665a9e9c7a6a44548270a9613093d25728e1886883f5893c75f600",
"implementations": [
"eth:0x8c435855E8090eB526f33f94d0474d59fD7E32A2"
]
},
{
"timestamp": 1776358559,
"transactionHash": "0x39e5b62153053ecba10153dce9d95ca2ff53e2f69f6cf7564e0369537630c8f7",
"implementations": [
"eth:0x5398c8De96Ef049B5d8D0ce01e4C9D58c47B98C9"
]
},
{
"timestamp": 1776720683,
"transactionHash": "0x78942254165dc0ae59b763fd30c9f472e0aca5f39ee7fa7757bdff498487ca96",
"implementations": [
"eth:0xe1Cf59617A333eaCEAF36BE03cB0b94A250acf4b"
]
},
{
"timestamp": 1776908303,
"transactionHash": "0x2625ebb9ea1e887805cc22e6d221a6e13f79d0db0b5acac9815e3231d39b0ce6",
"implementations": [
"eth:0x81e1158368bD28Cc6E8380852087a9512A9670fB"
]
}
],
"description": "L1 entry point for ERC-20 deposits into Fluent. Custodies ERC-20 tokens directly on L1 and emits the corresponding bridge message; on the L2 side the canonical pegged token is minted via the ERC20TokenFactory. UUPS-upgradeable; upgrades are gated by the contract owner.\n* Roles:\n * **admin**: FluentMultisig",
"upgradableBy": [
{
"name": "FluentMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD4C62647A34FF6d6802092F5fbe176099223B61#code"
},
{
"name": "FluentTimeLock",
"isVerified": true,
"address": "eth:0x7846C001835d889A29ba659f67A5B7ac98E73bF4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "OpenZeppelin TimelockController used to delay privileged operations. PROPOSER_ROLE schedules calls; the configured minimum delay must elapse before EXECUTOR_ROLE can execute them; CANCELLER_ROLE can drop scheduled calls.\n* Roles:\n * **canceller**: FluentAdminEOA\n * **executor**: FluentMultisig\n * **proposer**: FluentAdminEOA",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7846C001835d889A29ba659f67A5B7ac98E73bF4#code"
},
{
"name": "ERC20PeggedToken",
"isVerified": true,
"address": "eth:0x056fD0A3eD85c6ae1Ec1c398B33581951Ed4b090",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x056fD0A3eD85c6ae1Ec1c398B33581951Ed4b090#code"
},
{
"name": "Blacklist",
"isVerified": true,
"address": "eth:0x05C5d46a5e6f92fB9CdA9A8b03E4440A175D1484",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x33C0B99F3210a9578d81d5B13dEC03160F58ff11"
],
"implementations": [
"eth:0xB9E397C9506F71590be1f24da3f219bedE38b845"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1776720923,
"transactionHash": "0x48b82ab6b95e56504680c0c5d8b75a9a389e4619bbd9ed6d4910decdacea713e",
"implementations": [
"eth:0xB9E397C9506F71590be1f24da3f219bedE38b845"
]
}
],
"description": "* Roles:\n * **admin**: FluentMultisig",
"upgradableBy": [
{
"name": "FluentMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x05C5d46a5e6f92fB9CdA9A8b03E4440A175D1484#code"
},
{
"name": "FluentRollup",
"isVerified": true,
"address": "eth:0x1cF53Fd9CD0b713be29F2b41cA17A943f138727f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xF6ad498c8B9bfbD2F26EcD9665aC71d9032245c1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1776356639,
"transactionHash": "0x9280e1cd08307a30efd83b424181e0c0a377dacb4216a206b290575bf4a5edf5",
"implementations": [
"eth:0x405eA6684CDD57e8f9c15395626F3c72c5255D50"
]
},
{
"timestamp": 1776457595,
"transactionHash": "0xae2d6f36ca6010e6405191447ffa78f5c39330e849945b4e12cb55ce112e8db1",
"implementations": [
"eth:0x76Ec5c71FF385b2E174f1191589a7368eE9d7C83"
]
},
{
"timestamp": 1776591899,
"transactionHash": "0x8faf3ed7a062e5732abf80beb9c9400705745d7bbc5924c2a1523d970c655fb5",
"implementations": [
"eth:0x7EafBd621Df027EbefFb7a971120b13A88710494"
]
},
{
"timestamp": 1776592211,
"transactionHash": "0x46e6634771e5902428987a7e423c9ca431fce3c7d7bf9346f213ba9c18cb247a",
"implementations": [
"eth:0x5E0D546dAdE979c9eEE458Cc8b6212E53921889f"
]
},
{
"timestamp": 1776592511,
"transactionHash": "0x915f648035250a9982c5a9902ddc37f3c72047fa8b8fd3241ee93455d93508fa",
"implementations": [
"eth:0x46a485181ab7E0D68508b8dE306e88a3B6718193"
]
},
{
"timestamp": 1776683927,
"transactionHash": "0x93a23ca29d9dbbbedbab902d37a83cad523c82d4b3ec930f5622ed508171a0e3",
"implementations": [
"eth:0xf7EEe2D42f70DCacE0a6E368099A9EBCcaB74Efd"
]
},
{
"timestamp": 1776875747,
"transactionHash": "0x656d50f10e86f6bbee1bd4c39258cc2ebf75341d74be55c3163b7ed990c931b6",
"implementations": [
"eth:0xF6ad498c8B9bfbD2F26EcD9665aC71d9032245c1"
]
}
],
"description": "Core Fluent rollup contract. Sequencers commit batch roots and EIP-4844 blob hashes; an AWS Nitro Enclave preconfirms each batch via a signature whose key is bound to a PCR0 measurement verified by SP1; participants holding CHALLENGER_ROLE can dispute and the prover resolves disputes with SP1 ZK proofs; batches finalize after a block-count delay or immediately once all blocks are proven.\n* Roles:\n * **defaultAdmin**: FluentMultisig\n * **emergency**: FluentMultisig\n * **preconfirmation**: FluentEnclaveAttesterEOA\n * **prover**: FluentProverEOA\n * **sequencer**: FluentSequencerEOA",
"upgradableBy": [
{
"name": "FluentMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1cF53Fd9CD0b713be29F2b41cA17A943f138727f#code"
},
{
"name": "NitroVerifier",
"isVerified": true,
"address": "eth:0x207FBb4AC5227Ab598B8072BdC1E150dF687AC5B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies AWS Nitro Enclave attestations onchain. The enclave's signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x207FBb4AC5227Ab598B8072BdC1E150dF687AC5B#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "eth:0xdD283a04cc711aB9c08d79e665835821BEef710B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A beacon with an upgradeable implementation currently set as ERC20PeggedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: ERC20TokenFactory",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xdD283a04cc711aB9c08d79e665835821BEef710B#code"
},
{
"name": "NitroVerifier",
"isVerified": true,
"address": "eth:0xFdB04b67ecD8352bA3885F66fFfddf1f5f25292F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies AWS Nitro Enclave attestations onchain. The enclave's signing key is admitted only after an SP1 proof confirms its attestation matches the expected PCR0 measurement, binding preconfirmation authority to audited enclave code.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFdB04b67ecD8352bA3885F66fFfddf1f5f25292F#code"
},
{
"name": "SP1VerifierGatewayOlder",
"isVerified": true,
"address": "eth:0x397A5f7f3dBd538f23DE225B51f532c34448dA9B",
"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/0x397A5f7f3dBd538f23DE225B51f532c34448dA9B#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x50ACFBEdecf4cbe350E1a86fC6f03a821772f1e5#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x99A74A05a0FaBEB217C1A329b0dac59a1FA52508",
"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/0x99A74A05a0FaBEB217C1A329b0dac59a1FA52508#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v6.1.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb69f2584CBcFf99a58C4e7002E8b89Af54a6f4e2#code"
}
]
},
"escrows": [
{
"address": "0x9CAcf613fC29015893728563f423fD26dCdB8Ddc",
"sinceTimestamp": 1775739227,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9CAcf613fC29015893728563f423fD26dCdB8Ddc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xF67255be817061139C9DeeA757f7276916cBF849"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775739227,
"transactionHash": "0x41d58e18be407db8b25d9d8c198f42d88ef67104ae3286e1e318ec2d67b251c3",
"implementations": [
"eth:0xF10F4D565d050BEeb9e37A548853B9c88Fd65373"
]
},
{
"timestamp": 1776358511,
"transactionHash": "0xcf06c58c5a0a601390bb3835778a390bd0b2b25c675319feeef96a4a83940112",
"implementations": [
"eth:0x52f9e37FeDd9EF7d5eCB24D77cff40d5337A5770"
]
},
{
"timestamp": 1776457763,
"transactionHash": "0x9a92a1828c2b689acab26e5ab139ad6faa2bec120c7462d9d3b01bffb708489a",
"implementations": [
"eth:0xfF0Ef75C7a2942294A5a828b1c11F7aF618De4cA"
]
},
{
"timestamp": 1776591743,
"transactionHash": "0x75ee505dc6be60d16c93c7dd6cfc33b99439de51561aed0c9fbe65e278095437",
"implementations": [
"eth:0xA0374Fa5324f4A255693Eb6B35236a21C24392f8"
]
},
{
"timestamp": 1776719975,
"transactionHash": "0x0d5b3fa6d88af319cbae57d5dd3b53ce6749e90690ddaa2f8497d40ca19adf44",
"implementations": [
"eth:0x95c76524803B8EA61c910dc0cB02B76efD6D3791"
]
},
{
"timestamp": 1776720671,
"transactionHash": "0xc78efc4e911d121701277a5eb494c8e74aad26a4b18f358d655e955cc7747c02",
"implementations": [
"eth:0x047AaDf25df7D17bB5B6b1FF31cecD1E4973C227"
]
},
{
"timestamp": 1779289223,
"transactionHash": "0x5683f1be2880db1238db0cafc17623f895de685541543b5fd577efdfec53429c",
"implementations": [
"eth:0xF67255be817061139C9DeeA757f7276916cBF849"
]
}
],
"url": "https://etherscan.io/address/0x9CAcf613fC29015893728563f423fD26dCdB8Ddc#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xFD4C62647A34FF6d6802092F5fbe176099223B61",
"sinceTimestamp": 1775739563,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xFD4C62647A34FF6d6802092F5fbe176099223B61",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x33C0B99F3210a9578d81d5B13dEC03160F58ff11"
],
"implementations": [
"eth:0x81e1158368bD28Cc6E8380852087a9512A9670fB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1775739563,
"transactionHash": "0x407471f08b665a9e9c7a6a44548270a9613093d25728e1886883f5893c75f600",
"implementations": [
"eth:0x8c435855E8090eB526f33f94d0474d59fD7E32A2"
]
},
{
"timestamp": 1776358559,
"transactionHash": "0x39e5b62153053ecba10153dce9d95ca2ff53e2f69f6cf7564e0369537630c8f7",
"implementations": [
"eth:0x5398c8De96Ef049B5d8D0ce01e4C9D58c47B98C9"
]
},
{
"timestamp": 1776720683,
"transactionHash": "0x78942254165dc0ae59b763fd30c9f472e0aca5f39ee7fa7757bdff498487ca96",
"implementations": [
"eth:0xe1Cf59617A333eaCEAF36BE03cB0b94A250acf4b"
]
},
{
"timestamp": 1776908303,
"transactionHash": "0x2625ebb9ea1e887805cc22e6d221a6e13f79d0db0b5acac9815e3231d39b0ce6",
"implementations": [
"eth:0x81e1158368bD28Cc6E8380852087a9512A9670fB"
]
}
],
"url": "https://etherscan.io/address/0xFD4C62647A34FF6d6802092F5fbe176099223B61#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "Fluent STF guest program",
"proverSystemProject": "sp1hypercube",
"description": "Guest program implementing state transition function of the Fluent rollup",
"verificationStatus": "unsuccessful",
"verificationSteps": "According to the Fluent team, the sources for this program were not yet published. Thus it cannot be verified.",
"hash": "0x00e34107e4c5284bd4ecc4269c650671038c1e85d9dacb931b534e984f607334"
},
{
"title": "Fluent Nitro TEE verifier v1.0.4",
"title": "Fluent Nitro TEE verifier v1.0.5",
"proverSystemProject": "sp1hypercube",
"programUrl": "https://github.com/fluentlabs-xyz/fluent-stf/tree/v1.0.4/bin/aws-nitro-validator",
"programUrl": "https://github.com/fluentlabs-xyz/fluent-stf/tree/v1.0.5/bin/aws-nitro-validator",
"description": "Verifies correctness of a single TEE attestation for executing Fluent STF within a trusted enclave on AWS cloud.",
"verificationStatus": "successful",
"verificationSteps": "Regeneration steps are based on [this guide](https://github.com/fluentlabs-xyz/fluent-stf/blob/v1.0.0/README.md). The process is reproducible on a Linux machnie.\n\n1. Install prerequesits: `docker`, `python3`, `git`, `jq`.\n2. Checkout correct branch in https://github.com/fluentlabs-xyz/fluent-stf/tree/v1.0.4: `git checkout v1.0.4`. Commit hash should be `e2cd6942c1dd9200834abd9e816e38b83d1caa51`.\n3. Build Nitro program for the mainnet within docker: `make build-nitro-validator-docker NETWORK=mainnet`. This command will create `nitro-validator-mainnet.vkey` file with the program hash string.",
"hash": "0x00e726560b91ff68e7e232d79536f4a8fb951f1f0197f97f7377b3f21e7e641e"
"verificationSteps": "Regeneration steps are based on [this guide](https://github.com/fluentlabs-xyz/fluent-stf/blob/v1.0.0/README.md). The process is reproducible on a Linux machnie.\n\n1. Install prerequesits: `docker`, `python3`, `git`, `jq`.\n2. Checkout correct branch in https://github.com/fluentlabs-xyz/fluent-stf/tree/v1.0.5: `git checkout v1.0.5`. Commit hash should be `f031746503ba70935aa803b2ef06f073e45d73e4`.\n3. Build Nitro program for the mainnet within docker: `make build-nitro-validator-docker NETWORK=mainnet`. This command will create `nitro-validator-mainnet.vkey` file with the program hash string.",
"hash": "0x00637b56bd0f68aa55fa7128386e6a61a73df18a3d7a50a47c8c02d672346915"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"eth:0x8a0fd5e825D14368d90Fe68F31fceAe3E17AFc5C",
"eth:0xc3c6dDDAc8829b233Dc6536Ec024775a57b0AF2A"
]
}
+1 -1
{
"baseTimestamp": 1784884231,
"baseTimestamp": 1787738150,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1787310844,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786965974,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786966184,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+4 -4
+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/0x9Ca512d2F131134972EB95515325F69812395332#code#F1#L54"
"url": "https://etherscan.io/address/0xB1386c4266974D81256afB9908e104B00587112A#code#F1#L54"
},
{
"title": "Desert verifier verification keys",
"url": "https://etherscan.io/address/0x866418061d4C1168e1c8E8f6facE79675395E008#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."
}
}
+2 -2
{
"addresses": {
"ethereum": [
{
"name": "Lighter",
"isVerified": true,
"address": "eth:0x3B4D794a66304F130a4Db8F2551B0070dfCf5ca7",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"eth:0x94da8A995D0D82Ef0fE7E509C6D76c22603B6f67"
],
"implementations": [
"eth:0x8D692294a4824d868e35B3CEcd734aCf41B2342e",
"eth:0xaA5e1aaa81a39F828248ffFeaDC77CcEC8eC3906"
]
},
"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": "DesertVerifier",
"isVerified": true,
"address": "eth:0x866418061d4C1168e1c8E8f6facE79675395E008",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x866418061d4C1168e1c8E8f6facE79675395E008#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:0x9Ca512d2F131134972EB95515325F69812395332"
"eth:0xB1386c4266974D81256afB9908e104B00587112A"
]
},
"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:0x8D692294a4824d868e35B3CEcd734aCf41B2342e",
"eth:0xaA5e1aaa81a39F828248ffFeaDC77CcEC8eC3906"
]
},
"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:0x9Ca512d2F131134972EB95515325F69812395332",
"eth:0xB1386c4266974D81256afB9908e104B00587112A",
"eth:0x866418061d4C1168e1c8E8f6facE79675395E008"
]
}
+1 -1
{
"baseTimestamp": 1787570248,
"baseTimestamp": 1787738123,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -2
+2 -2
{
"creator": "Lighter",
"projectsForTvs": [
{
"projectId": "lighter",
"sinceTimestamp": 1759356000
},
{
"projectId": "lighter-robinhood",
"sinceTimestamp": 1782502424
}
],
"proofSystemInfo": "## 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.",
"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",
"participantCount": 176,
"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": "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. \nIt 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)."
}
],
"verifierHashes": [
{
"hash": "0x9209eb726c5ccddbc337163770320215d2495c43987eaae0ccdd37e9a4686eff",
"hash": "0x32f44b5cbcd701d03206b427e62eae6f171d4b145c4f0717bd9ad004bc24993c",
"name": "Lighter verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x9Ca512d2F131134972EB95515325F69812395332"
"address": "eth:0xB1386c4266974D81256afB9908e104B00587112A"
}
],
"verificationStatus": "notVerified",
"verificationSteps": "The sources for the verifier circuits are not published and thus the verifier cannot be independently regenerated.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0x0b3f7515b28812264c235ac2bba289e19a42cecfbceb2eef9856bd6f591a2308",
"name": "Lighter on Robinhood verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "robinhood:0x61CA82e45F5a57d00E66b522Be72D8bA41e634Aa"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0xc8ffb171b6ebf0bba84df27eaa1021550c5242b146739c704221b456203630a9",
"name": "Lighter Desert verifier",
"sourceLink": "https://github.com/elliottech/lighter-prover/tree/23d1596b832db24f1007e20220ba1556d23b0c68/desertexit/circuits",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x866418061d4C1168e1c8E8f6facE79675395E008"
},
{
"address": "robinhood:0x56aeED6920DBB9E198C2C0072147A45684A06E10"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "The verification process below is based on the `build.sh` [script](https://github.com/elliottech/lighter-prover/blob/23d1596b832db24f1007e20220ba1556d23b0c68/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 23d1596b832db24f1007e20220ba1556d23b0c68\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.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+1 -1
+1 -1
{
"baseTimestamp": 1787147637,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786965974,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786965974,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786965974,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+66 -19
+1 -3
{
"redWarning": {
"text": "Critical contracts can be upgraded by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": [
"zircuit:0x4200000000000000000000000000000000000015"
]
"unverifiedContracts": []
}
+11 -0
{
"badges": [
{
"id": "EVM",
"type": "VM",
"name": "EVM",
"description": "This project uses the Ethereum Virtual Machine to run its smart contracts and supports the Solidity programming language",
"action": {
"type": "scalingFilter",
"id": "vm",
"value": "EVM"
}
},
{
"id": "EthereumBlobs",
"type": "DA",
"name": "Ethereum with blobs",
"description": "This project is posting its data to Ethereum as blobs",
"action": {
"type": "publicDaHighlight",
"slug": "ethereum"
}
},
{
"id": "OPStack",
"type": "Stack",
"name": "Built on OP Stack",
"description": "The project is built on the OP Stack",
"action": {
"type": "scalingFilter",
"id": "stack",
"value": "OP Stack"
}
},
{
"id": "Conduit",
"type": "RaaS",
"name": "Conduit",
"description": "This project was deployed via the rollup-as-a-service provider Conduit",
"action": {
"type": "scalingFilter",
"id": "raas",
"value": "Conduit"
}
}
],
"description": "Zircuit is a universal rollup. It is based on the Optimism Bedrock architecture, employing AI to identify and stop malicious transactions at the sequencer level.",
"links": {
"websites": [
"https://zircuit.com/"
],
"bridges": [
"https://bridge.zircuit.com/",
"https://app.zircuit.com/"
],
"documentation": [
"https://docs.zircuit.com/"
],
"explorers": [
"https://explorer.zircuit.com/"
],
"repositories": [
"https://github.com/zircuit-labs"
],
"socialMedia": [
"https://x.com/ZircuitL2",
"https://discord.com/invite/zircuit",
"https://zircuit.com/blog",
"https://t.me/zircuitl2_bot"
],
"other": [
"https://rollup.codes/zircuit"
]
}
}
+14 -0
[
{
"address": "0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"sinceTimestamp": 1726591415,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"description": "custom wstETH Vault controlled by Lido governance, using the canonical bridge for messaging.",
"url": "https://etherscan.io/address/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"sinceTimestamp": 1719936491,
"tokens": [
"ETH"
],
"premintedTokens": [],
"contract": {
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"sinceTimestamp": 1719936539,
"tokens": "*",
"excludedTokens": [
"rswETH",
"rsETH"
],
"premintedTokens": [
"ZRC"
],
"contract": {
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
}
],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+1 -0
{
"capability": "universal",
"daLayer": [
"Ethereum"
],
"hostChain": {
"id": "ethereum",
"slug": "ethereum",
"name": "Ethereum"
},
"layer": "layer2",
"proofSystem": {
"type": "Optimistic",
"challengeProtocol": "Interactive"
},
"purposes": [
"Universal"
],
"raas": "Conduit",
"reasonsForBeingOther": [
{
"label": "Closed proofs",
"shortDescription": "There are less than 5 external actors that can submit challenges",
"description": "Projects without a sufficiently decentralized set of challengers rely on few entities to safely update the state. A small set of challengers can collude with the proposer to finalize an invalid state, which can cause loss of funds."
}
],
"stacks": [
"OP Stack"
],
"stage": "Stage 0",
"type": "Other",
"vm": [
"EVM"
]
}
+8 -1
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/10 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"description": "A Multisig with 4/11 threshold. \n* Can upgrade **with no delay**\n * SuperchainConfig [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * L1ERC721Bridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n* Can interact with SuperchainConfig\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system ",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2",
"type": "EOA",
"isVerified": true,
"name": "0x9402…53F2",
"url": "https://etherscan.io/address/0x9402c42dB162d5a0927c032136f40Cc9C71853F2"
},
{
"address": "eth:0xcdC931935768c0562AfE989A366a3Dc4d52F4853",
"type": "EOA",
"isVerified": true,
"name": "0xcdC9…4853",
"url": "https://etherscan.io/address/0xcdC931935768c0562AfE989A366a3Dc4d52F4853"
},
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xCf8225801DF6Ef90aD3bc86808F574403A309de8",
"type": "EOA",
"isVerified": true,
"name": "0xCf82…9de8",
"url": "https://etherscan.io/address/0xCf8225801DF6Ef90aD3bc86808F574403A309de8",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
}
]
},
"zircuit": {
"roles": [],
"actors": [
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "zircuit:0x5b5A62275DF8c60A80D3a25FAeC5aA7De116b857",
"type": "EOA",
"isVerified": true,
"name": "0x5b5A…b857",
"url": "https://explorer.zircuit.com/address/0x5b5A62275DF8c60A80D3a25FAeC5aA7De116b857",
"displayName": "EOA 2"
}
],
"chain": "zircuit",
"description": "* Can upgrade **with no delay**\n * L1Block [via: ProxyAdmin]\n * ProxyAdmin [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
}
+30 -14
{
"addresses": {
"ethereum": [
{
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "The OptimismPortal contract is the main entry point to deposit funds from L1 to L2. It also allows to prove and finalize withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936707,
"transactionHash": "0x9cebd2cdbd71bf96668e003794de90cf09858ccebb8f93c41e3d7822df207505",
"implementations": [
"eth:0xA03E2f3Ee6dBa20411A2326D7FA9CCCc6a9A53de"
]
},
{
"timestamp": 1746642323,
"transactionHash": "0x19f086f222696bf287600d456e602d10dd4a1db43027e97262e1abb52f347570",
"implementations": [
"eth:0x795277B6aD8778E27aa70813157134cfC4a4D446"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0x83085450544c3F360a40720859EbB1bfd311584D"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0xaFD10586f3F2cB2aD34E8196563424a3a93EbE9F"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xba2492e52F45651B60B8B38d4Ea5E2390C64Ffb1"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **batcherHash**: EOA 1\n * **owner**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30F82a1Ca89226E8b8815d6EbB728e3b18a428ff#code"
},
{
"name": "DisputeGameFactory",
"isVerified": true,
"address": "eth:0x6b9e81504e961a9CDf81A06e916720fb4c273e90",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1785850655,
"transactionHash": "0x06c740b37bed26864623381918adb2ecf4f469661d067f648ad62e50a989bba9",
"implementations": [
"eth:0xc641A33cab81C559F2bd4b21EA34C290E2440C2B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x4bbA758F006Ef09402eF31724203F316ab74e4a0"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x33D1e8571a85a538ed3D5A4d88f46C112383439D"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
]
}
],
"description": "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6b9e81504e961a9CDf81A06e916720fb4c273e90#code"
},
{
"name": "SuperchainConfig",
"isVerified": true,
"address": "eth:0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5"
],
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750849619,
"transactionHash": "0x63366bb4d9f073e6f0e1de8495baf47a7e1921c02049305253907db5ac6839ca",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1768207871,
"transactionHash": "0x00b0d87bdd24f6273dabd8cb118814977b0e80773f88cb5baabb50463252d744",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1784287811,
"transactionHash": "0x1f1d4768cc0d3f218a3f5aea7b6ceed0ae663498958e8194f208e88522c6404b",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1784287811,
"transactionHash": "0x1f1d4768cc0d3f218a3f5aea7b6ceed0ae663498958e8194f208e88522c6404b",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x4da82a327773965b8d4D85Fa3dB8249b387458E7"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xCe28685EB204186b557133766eCA00334EB441E4"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
]
},
{
"timestamp": 1786627967,
"transactionHash": "0x2c62c31e4108c24123b9f5b3c26a87e5ec6b4fc3b85163c7257edb523316f9db",
"implementations": [
"eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"
]
},
{
"timestamp": 1786627967,
"transactionHash": "0x2c62c31e4108c24123b9f5b3c26a87e5ec6b4fc3b85163c7257edb523316f9db",
"implementations": [
"eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
]
}
],
"description": "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1\n * **guardian**: Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x097f99768A0a4a0A81bAbbCB1ea18193bA9D53cC#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x2a721cBE81a128be0F01040e3353c3805A5EA091",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936755,
"transactionHash": "0xba20c00dc03b009737ebbcaa3db1263524a1322c5984a4f51fbf7c4ebc979575",
"implementations": [
"eth:0x6c01D349d3010Cc2953fFA0A5e8d176fc273B834"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0xA5B66A9FBCE3d57dA2b3Bd764d0a05B95052f73F"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xD3494713A5cfaD3F5359379DfA074E2Ac8C6Fd65"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x3eA6084748ED1b2A9B5D4426181F1ad8C93F6231"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x5D5a095665886119693F0B41d8DFeE78da033e8B"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x22D12E0FAebD62d429514A65EBAe32dd316c12D6"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a721cBE81a128be0F01040e3353c3805A5EA091#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
}
],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
{
"name": "L1ERC721Bridge",
"isVerified": true,
"address": "eth:0x994eEb321F9cD79B077a5455fC248c77f30Dd244",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936731,
"transactionHash": "0xd6346f4354e7b4f58d6ef747d0ac04afa4c80319963ac187a69403ff1dcebdc8",
"implementations": [
"eth:0x3B21dC86c412aC34fF4c679497b274509D73cDcC"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0xDF129ECFc63Af454F62b69d03C0f0E21e69bcDAb"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xAE2AF01232a6c4a4d3012C5eC5b1b35059caF10d"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x276d3730f219f7ec22274f7263180b8452B46d47"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x7aE1d3BD877a4C5CA257404ce26BE93A02C98013"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x7f1d12fB2911EB095278085f721e644C1f675696"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
]
}
],
"description": "Used to bridge ERC-721 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x994eEb321F9cD79B077a5455fC248c77f30Dd244#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0x2613d77fFBE105CA861D526061dC3ef191E17051",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2613d77fFBE105CA861D526061dC3ef191E17051#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0x4F80B390aF3b49dda96134DA1ac905b05e816496",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4F80B390aF3b49dda96134DA1ac905b05e816496#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0x798d82222eC87C6B76aeF659A490e1ab9f7f9162",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x798d82222eC87C6B76aeF659A490e1ab9f7f9162#code"
},
{
"name": "L1ERC20TokenBridge",
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"description": "Escrow for custom external tokens that use the canonical bridge for messaging but are governed externally.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Conduit Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb4899FF43Ae727B1E9CB19AC44660e4A43Fad0b5#code"
},
{
"name": "OptimismMintableERC20Factory",
"isVerified": true,
"address": "eth:0xc77ece87C91C44AFb5f19638f9a0F75b5d90E932",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936743,
"transactionHash": "0x25c6d394396aef5f15c5f4fd388c8ebf206b71dfe6ced6d1933573016d7cee77",
"implementations": [
"eth:0xf885DA6A3B4c93905b02f36f9a13680922A554b0"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xE01efbeb1089D1d1dB9c6c8b135C934C0734c846"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x5493f4677A186f64805fe7317D6993ba4863988F"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
]
}
],
"description": "A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Conduit Multisig 1",
"upgradableBy": [
{
"name": "Conduit Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc77ece87C91C44AFb5f19638f9a0F75b5d90E932#code"
}
],
"zircuit": [
{
"name": "L1Block",
"isVerified": false,
"isVerified": true,
"address": "zircuit:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zircuit:0x4200000000000000000000000000000000000018"
],
"implementations": [
"zircuit:0xe95F7EdfB4cbf87eD14d94913448d89282513d66"
]
},
"chain": "zircuit",
"pastUpgrades": [
{
"timestamp": 1747065601,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"zircuit:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1785855001,
"transactionHash": "0xd89e381f4e17d7226144ae90c4efef010f4f085afb76b191add65dcf51aef089",
"implementations": [
"zircuit:0xe95F7EdfB4cbf87eD14d94913448d89282513d66"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 2",
"description": "Simple contract that returns information about the latest L1 block, which is derived permissionlessly from the L1 chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 2",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zircuit.com/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "zircuit:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"zircuit:0x4200000000000000000000000000000000000018"
],
"implementations": [
"zircuit:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "zircuit",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 2\n * **owner**: EOA 2",
"upgradableBy": [
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://explorer.zircuit.com/address/0x4200000000000000000000000000000000000018#code"
}
]
},
"escrows": [
{
"address": "0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"sinceTimestamp": 1726591415,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x912C7271a6A3622dfb8B218eb46a6122aB046C79",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1726591415,
"transactionHash": "0x7ce2acc826dbccea48fc0d45858f428df245e825147aa96c020b57c71f5b6c96",
"implementations": [
"eth:0x6bc726C993103197C41d787dd72eCd4D2e1614E8"
]
}
],
"description": "custom wstETH Vault controlled by Lido governance, using the canonical bridge for messaging.",
"url": "https://etherscan.io/address/0x912C7271a6A3622dfb8B218eb46a6122aB046C79#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"sinceTimestamp": 1719936491,
"tokens": [
"ETH"
],
"premintedTokens": [],
"contract": {
"isVerified": true,
"address": "eth:0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936803,
"transactionHash": "0x67e7390665dd0d4d9d7ad86cf3ae11c0dce8d7538b69d5fc15d176b36474e08f",
"implementations": [
"eth:0x8Ab1b1E21c2f229a7bB1430CF3ADfb0644a69ab7"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x304a52C8354f323672191Ebf1347Cd3d494Ea830"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xde8B916B972cE3c27C21157Fc2b107c413062b9d"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xb6714d9808909b9383B09aD7Ea4Bc7E59b3B0E20"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x6335a030fdCBa6c5704a74EF3BeDdd6550c0375a"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xA0A36095A2258568759fb41CAE4934BBd2d04E26"
]
},
{
"timestamp": 1755901559,
"transactionHash": "0x1d729201879e9035259d12fc58020a8f4dd1cb7c6972f915a6fcef15f89756d6",
"implementations": [
"eth:0xF7209f5471628aC5f68FE4ae98Feb7f02E0f40Be"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x2D778797049FE9259d947D1ED8e5442226dFB589"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785851315,
"transactionHash": "0x3fb4739c3ce4edcab46b84c2438e7d1f86b85e7e57970a7eaf6b6de11dda6080",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x17bfAfA932d2e23Bd9B909Fd5B4D2e2a27043fb1#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"sinceTimestamp": 1719936539,
"tokens": "*",
"excludedTokens": [
"rswETH",
"rsETH"
],
"premintedTokens": [
"ZRC"
],
"contract": {
"isVerified": true,
"address": "eth:0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5B1Ef673d9c316b3eE9Ed3B4E3cC84952bfC5257"
],
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1719936719,
"transactionHash": "0xd13642194be1a1b8947f8d3cd1504ec56ca67f4ba953cc45e4f135fb118a46f7",
"implementations": [
"eth:0x7409668285336dBBe720bE3525AEe372Fce4c2ab"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0xE14b12F4843447114A093D99Dc9322b93a967DE6"
]
},
{
"timestamp": 1721119739,
"transactionHash": "0xf3c21a1c1d5df7cd11018e70254ed8b78bba36107c8231dfee6ff1b1c5702196",
"implementations": [
"eth:0x0Fc6203310c494963eBAdd1157780a613B67eCDf"
]
},
{
"timestamp": 1721218295,
"transactionHash": "0x472c4b57b3828c3f8a846702da5707eccb216d672b4ede4eb4186ffe606b14b3",
"implementations": [
"eth:0xA4ba8bd753695B6121722CBB7cd81c71BCFBCA28"
]
},
{
"timestamp": 1739352227,
"transactionHash": "0x19e7944c32b28126488482597f707797b60c4c3201abacdba5b9ea00b31cfbb4",
"implementations": [
"eth:0xf829F2B0d741712198Aa3F0Be88b68Ec2aB5024b"
]
},
{
"timestamp": 1745419619,
"transactionHash": "0xe9ed64d1dc4bf02f583f912b831f46ae873996b36901c3b1180ac56c710e1d6f",
"implementations": [
"eth:0x506aadcb7bF93E892a43208d879BAc076eBC97Ef"
]
},
{
"timestamp": 1754400959,
"transactionHash": "0x12d1d0dde1bafad169722a0d6a42fafad00cacc19282bc0f7de4ad39b70afed1",
"implementations": [
"eth:0xFF30d6E9acecc919e4E9e1A2e67980ee44Df6Ebb"
]
},
{
"timestamp": 1764017747,
"transactionHash": "0x7e05b5e49355a8b5e46139a79cae4374dc441b3f53adabd248a2851997e45323",
"implementations": [
"eth:0x25DF2d6DDCa09C0f9Fce19373896be075F4f7d98"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850319,
"transactionHash": "0xe697fe2a042f60a3fb3f835e122e209bab529a36fe66bfc77af79dbb1bebdfa4",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1785850847,
"transactionHash": "0x2b72943b3cf73e5f4dade0cc6edd2f78bc2cb3f518df2872cf6fd69aea924cc0",
"implementations": [
"eth:0x64B5a5Ed26DCb17370Ff4d33a8D503f0fbD06CfF"
]
},
{
"timestamp": 1785851975,
"transactionHash": "0xfb6124f237aaaccedd1f8d1298ae5f3b19871f7af18bd4c791a818487cc199de",
"implementations": [
"eth:0x78972E88Ab8BBB517a36cAea23b931BAB58AD3c6"
]
},
{
"timestamp": 1785852287,
"transactionHash": "0xf7628d3121b7e3f4dcd11e06791a07e8ffa71753962baadc04c62944d412a006",
"implementations": [
"eth:0x0b09ba359A106C9ea3b181CBc5F394570c7d2a7A"
]
},
{
"timestamp": 1785852695,
"transactionHash": "0xf7dd2207111f0f269b7cdfa8a7fa703b664585513bc113e0d2c8bc7ce9eb355f",
"implementations": [
"eth:0xe32B192fb1DcA88fCB1C56B3ACb429e32238aDCb"
]
},
{
"timestamp": 1785852971,
"transactionHash": "0xeb6b35d861c5b232c47bc0e604f0834975876f80181776e46cb486f7a398cf03",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0xd81f43eDBCAcb4c29a9bA38a13Ee5d79278270cC"
]
},
{
"timestamp": 1787397155,
"transactionHash": "0xa2c6d7a895f7793beb83cd3f0734b427fea4982e2ed35044555c52bf3a8a8a23",
"implementations": [
"eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
]
}
],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x386B76D9cA5F5Fb150B6BFB35CF5379B22B26dd8#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
}
+1 -1
{
"baseTimestamp": 1787133501,
"baseTimestamp": 1787747199,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786965974,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786965974,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": false,
"hasDiscoUi": true,
"isDiscoDriven": false,
"permissionsDiscoDriven": false
}
+2 -2
+1 -1
{
"architectureImage": "zkstack-rollup",
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": []
}
],
"exitMechanisms": [
{
"name": "Regular messaging",
"description": "The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks.",
"risks": [],
"references": [
{
"title": "Withdrawing funds - ZKsync documentation",
"url": "https://docs.zksync.io/zksync-protocol/rollup/bridging-assets"
}
]
},
{
"name": "Forced messaging",
"description": "If the user experiences censorship from the operator with regular L2->L1 messaging they can submit their messages directly on L1. The system is then obliged to service this request or halt all messages from L1, including all forced withdrawals and deposits. Once the force operation is submitted and if the request is serviced, the operation follows the flow of a regular message.",
"risks": [],
"references": []
}
],
"forceTransactions": {
"name": "Users can force any transaction via L1",
"description": "If a user is censored by the L2 Sequencer, they can try to force their transaction via an L1 queue. Right now there is no mechanism that forces L2 Sequencer to include transactions from the queue in an L2 block. The operator can implement a TransactionFilterer that censors forced transactions.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator refuses to include their transactions."
},
{
"category": "Users can be censored if",
"text": "the operator implements a TransactionFilterer, which is possible without delay."
}
],
"references": [
{
"title": "L1 - L2 interoperability - Developer's documentation",
"url": "https://docs.zksync.io/zksync-protocol/era-vm/contracts/handling-l1-l2-ops"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "The operator is the only entity that can propose blocks. A live and trustworthy operator is vital to the health of the system.\n\nBatch execution is initiated by permissioned executor EOAs, but each batch also requires approval from the sufficient number of EraMultisigValidator members before it can be executed on L1.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
},
{
"category": "Users can be censored if",
"text": "the validator multisig does not approve batch execution."
}
],
"references": [
{
"title": "EraMultisigValidator - Etherscan proxy contract",
"url": "https://etherscan.io/address/0xdC26B08F0335b68721F64001C38b05D0BC9B539d"
}
]
},
"stateDerivation": {
"nodeSoftware": "The node software is open-source, and its source code can be found [here](https://github.com/matter-labs/zksync-era).\n The main node software does not rely on Layer 1 (L1) to reconstruct the state, but you can use [this tool](https://github.com/eqlabs/zksync-state-reconstruct) for that purpose. Currently, there is no straightforward method to inject the state into the main node, but ZKsync is actively working on a solution for this.",
"compressionScheme": "Bytecodes undergo compression before deployment on Layer 1 (L1). You can find additional information on this process [here](https://github.com/matter-labs/zksync-era/blob/main/docs/src/guides/advanced/11_compression.md).",
"genesisState": "There have been neither genesis states nor regenesis.",
"dataFormat": "Details on data format can be found [here](https://github.com/matter-labs/zksync-era/blob/main/docs/src/guides/advanced/09_pubdata.md)."
},
"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 user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.",
"categories": [
{
"title": "Prover Architecture",
"description": "ZKsync Era proof system Boojum can be found [here](https://github.com/matter-labs/era-boojum/tree/main) and contains essential tools like the Prover, the Verifier, and other backend components. The specs of the system can be found [here](https://github.com/matter-labs/zksync-era/tree/main/prover)."
},
{
"title": "ZK Circuits",
"description": "ZKsync Era circuits are built from Boojum and are designed to replicate the behavior of the EVM. The source code can be found [here](https://github.com/matter-labs/era-zkevm_circuits/tree/main). The circuits are checked against tests that can be found [here](https://github.com/matter-labs/era-zkevm_test_harness/tree/main).",
"risks": [
{
"category": "Funds can be lost if",
"text": "the proof system is implemented incorrectly."
}
]
},
{
"title": "Verification Keys Generation",
"description": "SNARK verification keys can be generated and checked against the Ethereum verifier contract using [this tool](https://github.com/matter-labs/zksync-era/tree/main/prover/crates/bin/vk_setup_data_generator_server_fri). The system requires a trusted setup."
}
]
},
"upgradesAndGovernance": {
"content": "There are two main paths for contract upgrades in the shared ZK stack ecosystem - standard and emergency - both converging on the shared upgrade management contract ProtocolUpgradeHandler.\nThe standard path involves a governance proposal and voting through the DAO, multiple timelock delays and finally approval by the Guardians or 4 SecurityCouncil participants.\nThe emergency path allows for contract upgrades without any delay by the EmergencyUpgradeBoard, which acts as a 3/3 Multisig between SecurityCouncil, Guardians and the FoundationMultisig.\n## Standard path\n### On ZKsync Era\nDelegates can start new proposals by reaching a threshold of 21M ZK tokens on the ZKsync Era Rollup's ZkProtocolGovernor contract.\nThis launches a 3d 'voting delay' after which the 7d voting period starts. During these first two periods, the proposal can be canceled by the proposer or if it falls below the proposing threshold.\nA proposal is only successful if it reaches both quorum (630M ZK tokens) and simple majority. When it reaches quorum, a remaining voting period of 3d is guaranteed by a potential late quorum vote extension.\nIn the successful case, it can be queued in the 0s timelock which forwards it via the Gateway to Ethereum as an L2->L1 log.\n### On Ethereum\nAfter the execution of the proposal-containing batch (3h delay), the proposal is now picked up by the ProtocolUpgradeHandler and enters the 3d 'legal veto period'.\nThis serves as a window in which a veto could be coordinated offchain, to be then enforced by non-approval of Guardians and SecurityCouncil. A threshold of 2 Guardians can extend the veto period to 7d.\nAfter this a proposal enters a *waiting* state of 1mo, from which it can be immediately approved (cancelling the delay) by 4 participants of the SecurityCouncil.\nFor the unlikely case that the Security Council does not approve here, the Guardians can instead approve the proposal, or nobody. In the two latter cases, the waiting period is enforced in full.\nA proposal cannot be actively cancelled in the ProtocolUpgradeHandler, but will expire if not approved within the waiting period. An approved proposal now enters the *pendingExecution* state for a final delay of 1d and can then be executed.\n### Other governance tracks\nThere are two other tracks of Governance also starting with DAO Delegate proposals the ZKsync Era rollup: 1) Token Program Proposals that add new minters, allocations or upgrade the ZK token and\n2) Governance Advisory Proposals that e.g. change the ZK Credo or other offchain Governance Procedures without onchain targets.\nThe protocol for these two other tracks is similar to the first part of the standard path described above (albeit having different quorum and timelock values), and not passing over to the Ethereum L1.\nFurther customizations are that the ZkFoundationMultisig can propose to the ZkTokenGovernor without a threshold and that the Guardians' L2 alias can cancel proposals in the ZkTokenGovernor and the ZkGovOpsGovernor.\n## Emergency path\nSecurityCouncil (6/8), Guardians (5/8) and ZkFoundationMultisig (3/6) form a de-facto 3/3 Multisig\nby pushing an immediate upgrade proposal through the EmergencyUpgradeBoard, which circumvents all delays and executes immediately via the ProtocolUpgradeHandler.\n## Upgrade Delays\nThe cumulative duration of the upgrade paths from the moment of a voted 'successful' proposal is 4d 3h or 8d 3h (depending on Guardians extending the LegalVetoPeriod) for Standard, 0 for Emergency and 1mo 4d for the path in which the SecurityCouncil is not approving the proposal.\n## Freezing\nThe SecurityCouncil can freeze (pause withdrawals and settlement) all chains connected to the current ChainTypeManager.\nEither for a softFreeze of 12h or a hardFreeze of 7d.\nAfter a softFreeze and / or a hardFreeze, a proposal from the EmergencyUpgradeBoard has to be passed before subsequent freezes are possible.\nOnly the SecurityCouncil can unfreeze an active freeze.\n## ZK cluster Admin and Chain Admin\nApart from the paths that can upgrade all shared implementations, the ZK stack governance system defines other roles that can modify the system:\nA single *ZK cluster Admin* role who governs parameters in the shared contracts and a *Chain Admin* role (defined in each chain-specific diamond contract) for managing parameters of each individual ZK chain that builds on the stack.\nThese chain-specific actions include critical operations like setting a transaction filterer that can censor L1 -> L2 messages, changing the DA mode, migrating the chain to a different settlement layer and standard operations like setting fee parameters and adding / removing Validators in the ValidatorTimelock.\nFor rollups, data availability on Ethereum is validated by a RollupL1DAValidator contract (or a RelayedSLDAValidator on the Gateway). Each rollup can become a permanent rollup (through their Chain Admin) which disallows DA changes to non-whitelisted sources or settlement layers in the future.\nThe source of truth for rollup-compliant DA validator contracts is the RollupDAManager contract, which is administered via the ProtocolUpgradeHandler.\nZKsync Era's Chain Admin differs from the others as it also has the above *ZK cluster Admin* role in the shared ZK stack contracts.",
"image": "zkstack",
"governanceInfo": {
"securityCouncil": {
"Composition": "**4/8** to approve upgrades · **3/8** soft freeze · **6/8** hard freeze, unfreeze and emergency approval. No fixed terms: members serve until replaced via Protocol Governor proposal.",
"Members public": "**Mapped** — 8 representatives of different orgs + signer addresses [published in Schedule 3](https://docs.zknation.io/zksync-governance-procedures/schedule-3-zksync-security-council).",
"Charter": "[ZKsync Governance Procedures, Schedules 2–3](https://docs.zknation.io/zksync-governance-procedures/schedule-3-zksync-security-council) + bylaws of the ZKsync Security Council entity.",
"Can bypass DAO?": "**Freeze yes, upgrade no (alone)** — can unilaterally and immideately freeze the protocol: 12h soft freeze (3/8) or 7d hard freeze (6/8). Upgrades require approvals from 5/8 Guardians and 3/6 ZK Foundation Multisig.",
"DAO can override SC?": "**Partially** — the Token Assembly can pass a Protocol Governor proposal replacing SC members, but it needs SC approval (4/8) or 5/8 Guardians as fallback. No unconditional tokenholder path."
},
"guardians": {
"Composition": "**5/8** for vetoes and approvals, no fixed terms. Addresses and names of individuals that take Guardian role are [published in Schedule 4](https://docs.zknation.io/zksync-governance-procedures/schedule-4-zksync-guardians).",
"Powers": "**Veto + fallback approval + emergency co-sign.** L1 Onchain veto (5/8) cancels Token/GovOps proposals during voting delay or vote. Offchain veto (5 signed statements to the SC Foundation) blocks Protocol proposals during the 3d legal veto period; 2/8 can extend it to 7d. 5/8 can approve a Protocol proposal in risk review if the SC won't. The Guardian multisig is 1 of 3 emergency upgrade signers. Veto justification due on the forum within 48h.",
"Self-protection": "**Yes** — Guardian membership is changed via Protocol Governor proposal, but Guardians may explicitly veto proposals affecting the Guardian body itself (Schedule 4 §5.2). Token holders have no unconditional onchain removal path."
},
"upgrades": {
"Normal upgrade path": "ZIP submission on L2 → 3d voting delay → 7d vote (late quorum +3d) → L2→L1 message to the ProtocolUpgradeHandler → 3d Guardian offchain-veto window (extendable to 7d by 2/8) → ≤1mo risk review, SC approval (4/8) short-circuits to → 1d timelock → permissionless execution on Ethereum. Fastest ≈ **14 days** from submission; Guardian-fallback path ≈ **44 days**.",
"Emergency upgrade path": "**6/8 SC + 5/8 Guardians + 3/6 ZKsync Foundation, instant**.",
"Exit window": "**~4 days** after the vote closes when the SC approves promptly (3d veto window + 1d timelock). **0** for emergency upgrades.",
"Token Program path": "Grants or modifies capped ZK minting/burning rights. TPPs via Token Governor: 3d delay → 7d vote (late quorum +2d) → 3d timelock → permissionless execution on Era, ≈ **13 days**.",
"GovOps path": "GAPs via GovOps Governor: same 3d + 7d + 3d schedule, but advisory only, implementation is left to the proposer or named parties."
},
"tokenGovernance": {
"Governance token": "`ZK` — 21.00 B maximum mintable supply, 14.83 B currently minted, 1 delegated token = 1 vote. ZK tokens need to be delegated for voting, but are not locked.",
"Governance token": "`ZK` — 21.00 B maximum mintable supply, 14.90 B currently minted, 1 delegated token = 1 vote. ZK tokens need to be delegated for voting, but are not locked.",
"Voting venue": "[ZKsync Governance Portal](https://vote.zknation.io/dao) powered by Cactus (formerly Tally). Three OpenZeppelin Governors on ZKsync Era: Protocol, Token, GovOps, each with its own timelock.",
"Proposal threshold": "**21,000,000 ZK** delegated (0.1% of the 21.00 B max mintable supply), identical for all three governors.",
"Quorum": "**630,000,000 ZK** (3% of max mintable supply) for all three governors. Simple majority of For vs Against; abstentions don't count. Late-quorum extension: +3d (Protocol), +2d (Token/GovOps).",
"Execution model": "**On-chain payload · Permissionless execute.** Protocol proposals travel via L2→L1 message and are permissionlessly executed on Ethereum after review + timelock; Token proposals execute permissionlessly on Era after their timelock."
}
}
}
}
+1 -1
{
"baseTimestamp": 1786966191,
"baseTimestamp": 1787738139,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}