2ff2c0fc (main)
and
93f1e40c (PR)
+5 -24
+2 -6
{
"dataAvailability": [
{
"name": "All data required for proofs is published on chain",
"description": "All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time.",
"risks": [],
"references": [
{
"title": "LineaRollup.sol - Etherscan source code, submitBlobs() function",
"url": "https://etherscan.io/address/0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0#code"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular messaging",
"description": "The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks. Note that withdrawal requests can be censored by the Sequencer. Currently, there is a general limit of 30000.0 ETH that can be withdrawn within each 1d time window. Users can (eventually, after 6 months of inactivity from the centralized Operator) exit by replacing the Operator. In such a case they need to self-propose and prove their new state on the base layer with the required software which is currently not made available.",
"risks": [
{
"category": "Funds can be frozen if",
"text": "the operator censors withdrawal transaction."
}
],
"references": [
{
"title": "L1MessageService.sol - Etherscan source code, claimMessageWithProof() function",
"url": "https://etherscan.io/address/0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0#code"
},
{
"title": "LineaRollup.sol - Etherscan source code, setFallbackOperator() function",
"url": "https://etherscan.io/address/0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0#code#F1#L212"
}
]
}
],
"forceTransactions": {
"name": "Users can't force any transaction",
"description": "There is no general mechanism to force the sequencer to include the transaction.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator refuses to include their transactions."
}
],
"references": []
},
"operator": {
"name": "The system has a centralized sequencer",
"description": "Only a trusted sequencer is allowed to submit transaction batches. A mechanism for users to submit their own batches is currently disabled.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
},
{
"category": "Funds can be frozen if",
"text": "the sequencer refuses to include an exit transaction.",
"isCritical": true
}
],
"references": [
{
"title": "LineaRollup.sol - Etherscan source code, onlyRole(OPERATOR_ROLE) modifier",
"url": "https://etherscan.io/address/0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0#code"
}
]
},
"stateDerivation": {
"nodeSoftware": "The node software ([Linea Besu](https://github.com/Consensys/linea-besu-package)) and a guide to reconstruct the state from L1 is available [here](https://docs.linea.build/get-started/how-to/state-recovery). Other node implementations like Nethermind, Geth or Erigon can sync too, but state derivation from L1 and Linea-specific features [are unsupported](https://docs.linea.build/get-started/how-to/run-a-node).",
"compressionScheme": "Linea uses a [bespoke lossless compression scheme](https://github.com/Consensys/linea-monorepo/blob/main/docs/architecture-description.md#blob-compressor) based on LZSS (deflate-like). It is available as a [dedicated library](https://github.com/Consensys/compress) and a [zk-decompression circuit](https://github.com/Consensys/gnark/tree/master/std/compress) in Gnark.",
"genesisState": "Is available via the official Linea docs for Linea Besu (preloaded), [Besu](https://docs.linea.build/get-started/how-to/run-a-node/besu#step-2-download-the-genesis-file-and-besu-configuration-file), [Erigon](https://docs.linea.build/get-started/how-to/run-a-node/erigon#step-2-download-the-genesis-file), [Nethermind](https://docs.linea.build/get-started/how-to/run-a-node/nethermind), [Geth](https://docs.linea.build/get-started/how-to/run-a-node/geth#step-2-download-the-genesis-file).",
"dataFormat": "Linea groups L2 blocks [into batches](https://lineascan.build/batches) which are then posted to L1 for proving. Each batch (whether sent as a blob or compressed calldata) contains L2 blocks. Blocks in turn include the [transactions with unnecessary data stripped](https://community.linea.build/t/proposal-state-reconstruction-from-l1-blobs/8038#p-22077-block-data-sent-to-l1-in-the-compressed-blob-2). More info on [the compression, packing and blob structure](https://github.com/Consensys/linea-monorepo/blob/main/docs/architecture-description.md#blob-compressor)."
},
"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": "The Linea prover code is [available on Github](https://github.com/Consensys/linea-monorepo/tree/main/prover). Linea splits proving into: **Corset** (Go + Lisp DSL) expands EVM execution traces and generates a bespoke constraint system for the zk-EVM. **gnark** (Go) ingests the expanded traces and constraint system, instantiates the circuits and produces the SNARK proof."
},
{
"title": "ZK Circuits",
"description": "The constraint system lives in the public [linea-constraints](https://github.com/Consensys/linea-constraints) repo and is authored in a Lisp-style DSL before being compiled to Go. Gnark then turns those constraints into PLONK-compatible circuits over **BN254**. Internally, Linea’s flow uses a recursive proof stack called [Vortex → Arcane → PLONK compression](https://docs.linea.build/technology/transaction-lifecycle#step-5-generating-a-zk-proof-using-transaction-data): Vortex/Arcane supply small inner proofs that are finally aggregated into a single PLONK proof that the L1 contract can verify."
},
{
"title": "Verification Keys Generation",
"description": "Linea uses a Plonk-based proof system which requires a trusted setup. The verification keys are hardcoded in the verifier contract on-chain."
},
{
"title": "Validity proofs",
"description": "Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.",
"risks": [],
"references": [
{
"title": "LineaRollup.sol - Etherscan source code, finalizeBlocks() and _verifyProof() calls",
"url": "https://etherscan.io/address/0x07ddce60658a61dc1732cacf2220fce4a01c49b0#code#F37#L41"
},
{
"title": "PlonkVerifierMainnetFull.sol (Proof Type 0)",
"url": "https://etherscan.io/address/0xA12E79C375FB0aaddfDA597BBe7b4e9A92e9b3De"
},
{
"title": "PlonkVerifierMainnetFull.sol (Proof Type 1)",
"url": "https://etherscan.io/address/0x8421D1e3fb9A737A85dC7FF531c39f324FB2aC5d"
},
{
"title": "PlonkVerifierMainnetFull.sol (Proof Type 4)",
"url": "https://etherscan.io/address/0x8CAE7ff138e401384df88a408314e4E9a92f274E"
"title": "PlonkVerifierMainnetFull.sol (Proof Type 3)",
"url": "https://etherscan.io/address/0x814D80782aA8c508aBABE9C6956D8F1f90E5177a"
}
]
}
],
"proofVerification": {
"shortDescription": "Linea is a universal ZK-EVM rollup on Ethereum.",
"aggregation": false,
"requiredTools": [],
"verifiers": [
{
"name": "LineaVerifier (ProofType 4)",
"description": "The smart contract verifying the computational integrity of the Linea zkEVM. Since the circuit behind it is not public, we are not able to verify any claim about the proof system.",
"verified": "failed",
"performedBy": {
"name": "L2BEAT",
"link": "https://l2beat.com"
},
"contractAddress": "0x41A4d93d09f4718fe899D12A4aD2C8a09104bdc7",
"chainId": 1,
"subVerifiers": [
{
"name": "Main circuit",
"proofSystem": "?",
"mainArithmetization": "?",
"mainPCS": "?"
}
]
},
{
"name": "LineaVerifier (ProofType 0)",
"description": "The smart contract verifying the computational integrity of the Linea zkEVM. Since the circuit behind it is not public, we are not able to verify any claim about the proof system.",
"verified": "no",
"contractAddress": "0xED39C0C41A7651006953AB58Ecb3039363620995",
"chainId": 1,
"subVerifiers": [
{
"name": "Main circuit",
"proofSystem": "?",
"mainArithmetization": "?",
"mainPCS": "?"
}
]
}
]
}
}
}
+2 -17
{
"addresses": {
"ethereum": [
{
"name": "TokenBridge",
"isVerified": true,
"address": "eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1691067875,
"transactionHash": "0xbc08c4596eeee0a2e2527f03c0f2e85ec9e76e062b5f86eb435a67bca8f21122",
"implementations": [
"eth:0x6ccfD65b0b14F67259C77Ca6267104e058dDB292"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0xd52c09E67aF3BE0977B52b4817366e9BaB5dCFA2"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
}
],
"description": "Contract used to bridge and escrow ERC-20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1\n * **allPausers**: Linea Multisig 1\n * **allUnpausers**: Linea Multisig 1\n * **completeTokenBridgingPausers**: Linea Multisig 1\n * **completeTokenBridgingUnpausers**: Linea Multisig 1\n * **customContractSetters**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1\n * **defaultAdmin**: Linea Multisig 1\n * **initiateTokenBridgingPausers**: Linea Multisig 1\n * **initiateTokenBridgingUnpausers**: Linea Multisig 1\n * **messageServiceSetters**: Linea Multisig 1\n * **remoteTokenBridgeSetters**: Linea Multisig 1\n * **reserveTokenRemovers**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1\n * **reserveTokenSetters**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319#code"
},
{
"name": "BridgedToken",
"isVerified": true,
"address": "eth:0x36f274C1C197F277EA3C57859729398FCc8a3763",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Standard implementation used for assets that are native to the other layer and are bridged to this layer.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x36f274C1C197F277EA3C57859729398FCc8a3763#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x41fAD3Df1B07B647D120D055259E474fE8046eb5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x41fAD3Df1B07B647D120D055259E474fE8046eb5#code"
},
{
"name": "L1USDCBridge",
"isVerified": true,
"address": "eth:0x504A330327A089d8364C4ab3811Ee26976d388ce",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x41fAD3Df1B07B647D120D055259E474fE8046eb5"
],
"implementations": [
"eth:0x66CFD1562d6Aa4629e9e4142662c1A403528Df00"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1691086271,
"transactionHash": "0xa93648a8d01d65bea363bc2f6e19897e42f9af999370c07cb2a0ea6a5401b6b0",
"implementations": [
"eth:0x16Db542C30fB3519D11CF8F632077c62c1a944fd"
]
},
{
"timestamp": 1693599947,
"transactionHash": "0xe752ce539119fc11af6239e8b26a79d80c9e84cec19ac6aca060f466853f5b7d",
"implementations": [
"eth:0x0eC393209674090368C592A591B25811e490BF36"
]
},
{
"timestamp": 1742155031,
"transactionHash": "0xd61b29009aa7f628ff1b04138e30ebd39805e40a2e3e4a3e43050fd8b0f75548",
"implementations": [
"eth:0x66CFD1562d6Aa4629e9e4142662c1A403528Df00"
]
}
],
"description": "L1 side of the old and now unused USDC bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x504A330327A089d8364C4ab3811Ee26976d388ce#code"
},
{
"name": "Delay",
"isVerified": true,
"address": "eth:0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436",
"upgradeability": {
"proxyType": "gnosis safe zodiac module",
"admins": [],
"implementations": [],
"immutable": false
},
"chain": "ethereum",
"description": "A simple Safe module for that can queue and execute transactions as Linea Multisig 2 after a delay of currently 3mo, if registered as a module there.\n* Roles:\n * **owner**: Linea Multisig 2; ultimately Linea Multisig 1\n * **zodiacModule_modules**: Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436#code"
},
{
"name": "PlonkVerifierMainnetFull",
"isVerified": true,
"address": "eth:0x8421D1e3fb9A737A85dC7FF531c39f324FB2aC5d",
"address": "eth:0x814D80782aA8c508aBABE9C6956D8F1f90E5177a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Smart contract used to verify the proofs of Linea zkEVM execution.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x8421D1e3fb9A737A85dC7FF531c39f324FB2aC5d#code"
"url": "https://etherscan.io/address/eth:0x814D80782aA8c508aBABE9C6956D8F1f90E5177a#code"
},
{
"name": "PlonkVerifierMainnetFull",
"isVerified": true,
"address": "eth:0x8CAE7ff138e401384df88a408314e4E9a92f274E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Smart contract used to verify the proofs of Linea zkEVM execution.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x8CAE7ff138e401384df88a408314e4E9a92f274E#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "eth:0x971f46a2852d11D59dbF0909e837cfd06f357DeB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x971f46a2852d11D59dbF0909e837cfd06f357DeB#code"
},
{
"name": "PlonkVerifierMainnetFull",
"isVerified": true,
"address": "eth:0xA12E79C375FB0aaddfDA597BBe7b4e9A92e9b3De",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Smart contract used to verify the proofs of Linea zkEVM execution.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xA12E79C375FB0aaddfDA597BBe7b4e9A92e9b3De#code"
},
{
"name": "LineaRollup",
"isVerified": true,
"address": "eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689159923,
"transactionHash": "0x3564f15a274bdc49a6ad8af161113d20a678d87efbd3d708540a9b4d026f1122",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689166667,
"transactionHash": "0x8ee4253600d68665e8d52a522d8ba7136639187b87f8079b881de9e6d1f20d2a",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689427883,
"transactionHash": "0x628efc29f5b2267f23cf613720003fafe671ee47db60b4f6610f5ae1ab838555",
"implementations": [
"eth:0x4c8d4Ce72afAA417d1F7E833725FdB4E793cd6b3"
]
},
{
"timestamp": 1691513927,
"transactionHash": "0xdff29a7f65b6bec4e8288673a5ca55e12081b4d55879e600817484f28c5a80b1",
"implementations": [
"eth:0xb32c3D0dDb0063FfB15E8a50b40cC62230D820B3"
]
},
{
"timestamp": 1707813599,
"transactionHash": "0xb4ed5b2646e45744945a4fc51da0e5e687ffe26f570b7aa3abb7b1fd4a460ea4",
"implementations": [
"eth:0xAA4b3a9515c921996Abe7930bF75Eff7466a4457"
]
},
{
"timestamp": 1711448987,
"transactionHash": "0x565c77e109aac4df41d81457bdfbdd17782d8bca9a1330c68a271c64f35d05e5",
"implementations": [
"eth:0x934Dd4C63E285551CEceF8459103554D0096c179"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0x53fC68bFfC03D17804e5A901DE42d1eeF2e64562"
]
},
{
"timestamp": 1730216147,
"transactionHash": "0x0970f422c80627f28916f9c5583ff6298070893debd191ead0cf39778e4bae14",
"implementations": [
"eth:0x1825242411792536469Cbb5843fd27Ce3e9e583A"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0"
]
}
],
"description": "The main contract of the Linea zkEVM rollup. Contains state roots, the verifier addresses and manages messages between L1 and the L2.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 1\n * **defaultAdmin**: Linea Multisig 1\n * **fallbackOperator**: CallForwardingProxy\n * **operators**: EOA 2, EOA 3",
"upgradableBy": [
{
"name": "Linea Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xd6B95c960779c72B8C6752119849318E5d550574",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A standard timelock with access control. The current minimum delay is 0s.\n* Roles:\n * **canceller**: Linea Multisig 1\n * **executor**: Linea Multisig 1\n * **proposer**: Linea Multisig 1, Linea Multisig 2; ultimately Linea Multisig 1\n * **timelockAdmin**: Timelock; ultimately Linea Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xd6B95c960779c72B8C6752119849318E5d550574#code"
},
{
"name": "Roles",
"isVerified": true,
"address": "eth:0xF24f1DC519d88246809B660eb56D94048575d083",
"upgradeability": {
"proxyType": "gnosis safe zodiac module",
"admins": [],
"implementations": [],
"immutable": false
},
"chain": "ethereum",
"description": "The Zodiac 'Roles' module for Safe multisigs allows defining roles that can call preconfigured targets on behalf of the Gnosis Safe.\n* Roles:\n * **pausers**: EOA 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xF24f1DC519d88246809B660eb56D94048575d083#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6#code"
}
],
"linea": [
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "* Roles:\n * **owner**: L2Timelock",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E#code"
},
{
"name": "TokenBridge",
"isVerified": true,
"address": "linea:0x353012dc4a9A6cF55c941bADC267f82004A8ceB9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E"
],
"implementations": [
"linea:0xD90ed3D4f9d11262d3D346a4369058d5B3777137"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1691068282,
"transactionHash": "0x74e2ded3ed8dd2fd39692b053ede573c6d8205a2dcdb29a201d6320006f81404",
"implementations": [
"linea:0x2bfdf4a0d54C93a4bAF74F8DcEA8a275D8EE97a9"
]
},
{
"timestamp": 1717588517,
"transactionHash": "0x679e1f421ff3d583b75adc32bda76d9408688e9fd6897bc499baaee547711f13",
"implementations": [
"linea:0x0fFCBe98041B77BD87C38e2d0a6b473e7703444E"
]
},
{
"timestamp": 1734357983,
"transactionHash": "0xbb31a92afc2c725d0b10aaf96829db7a553041d0be10ca840d2fb82ef77119e7",
"implementations": [
"linea:0xD90ed3D4f9d11262d3D346a4369058d5B3777137"
]
}
],
"description": "Contract used to bridge and escrow ERC-20 tokens.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 3\n * **allPausers**: Linea Multisig 3\n * **allUnpausers**: Linea Multisig 3\n * **completeTokenBridgingPausers**: Linea Multisig 3\n * **completeTokenBridgingUnpausers**: Linea Multisig 3\n * **customContractSetters**: Linea Multisig 3, Linea Multisig 4\n * **defaultAdmin**: Linea Multisig 3\n * **initiateTokenBridgingPausers**: Linea Multisig 3\n * **initiateTokenBridgingUnpausers**: Linea Multisig 3\n * **messageServiceSetters**: Linea Multisig 3\n * **remoteTokenBridgeSetters**: Linea Multisig 3\n * **reserveTokenRemovers**: Linea Multisig 3, Linea Multisig 4\n * **reserveTokenSetters**: Linea Multisig 3, Linea Multisig 4",
"upgradableBy": [
{
"name": "Linea Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0x353012dc4a9A6cF55c941bADC267f82004A8ceB9#code"
},
{
"name": "L2Roles",
"isVerified": true,
"address": "linea:0x3886a948eA7b4053312c3aE31a13776144aA6239",
"upgradeability": {
"proxyType": "gnosis safe zodiac module",
"admins": [],
"implementations": [],
"immutable": false
},
"chain": "linea",
"description": "The Zodiac 'Roles' module for Safe multisigs allows defining roles that can call preconfigured targets on behalf of the Gnosis Safe.\n* Roles:\n * **pausers**: EOA 4\n * **voyageXpMinters**: EOA 5",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0x3886a948eA7b4053312c3aE31a13776144aA6239#code"
},
{
"name": "L2MessageService",
"isVerified": true,
"address": "linea:0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0x1E1f6F22f97b4a7522D8B62e983953639239774E"
],
"implementations": [
"linea:0x05d43713B7E333d2D54be65cE3b5F3698aB960Fd"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1688650665,
"transactionHash": "0xed74f383b9adf7473d3acd918f80cfdd9e971e861e08c82da880b0b6c3e7d5da",
"implementations": [
"linea:0x369DB650D875938252682532eA9E4Af267a7d126"
]
},
{
"timestamp": 1689173298,
"transactionHash": "0x0c07ca13444501284e8935d6cc93cde21ab6a45c6d442aae2681fe01e4106b8d",
"implementations": [
"linea:0x49B620cC5DaD8254253ADf9f769262fF15C79e8c"
]
},
{
"timestamp": 1689428479,
"transactionHash": "0x58e2af8033120299d32c2c561cb236a386565e981a14626d1b96a7d592564b66",
"implementations": [
"linea:0x89e70E2AAAD2021cEa50b1eb235B7Fe97625147d"
]
},
{
"timestamp": 1707813305,
"transactionHash": "0xcc8a117438895921a7768cef24fd55a179538956fe8e3dfdbf44181ae2eb4151",
"implementations": [
"linea:0x2c4F0ed41E356E289b5b479684006427Ec3589af"
]
},
{
"timestamp": 1711449417,
"transactionHash": "0xb50f4883ceaaecaa5c3864e17e0cedcdfbf13a8d49e2e318dbde814d7dbe1459",
"implementations": [
"linea:0x9899f25BDD0785B2b47c1Bd29711D88406c3b54D"
]
},
{
"timestamp": 1734357983,
"transactionHash": "0xbb31a92afc2c725d0b10aaf96829db7a553041d0be10ca840d2fb82ef77119e7",
"implementations": [
"linea:0x05d43713B7E333d2D54be65cE3b5F3698aB960Fd"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 3\n * **l1l2MessageSetter**: EOA 6",
"upgradableBy": [
{
"name": "Linea Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec#code"
},
{
"name": "L2USDCBridge",
"isVerified": true,
"address": "linea:0xA2Ee6Fce4ACB62D95448729cDb781e3BEb62504A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"linea:0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c"
],
"implementations": [
"linea:0x1998108fA7993EA67a8B1a99d392a3288C5a5521"
]
},
"chain": "linea",
"pastUpgrades": [
{
"timestamp": 1691086556,
"transactionHash": "0xb50a7330132542dc795312528f39e57822236eb7d35cfcaf2616e091c378705e",
"implementations": [
"linea:0x71E4dB49008C7D7648597E8D24A8E2fD1D220B81"
]
},
{
"timestamp": 1693600112,
"transactionHash": "0xdcd89930e7456d8d80313aa109e5ab95d2455354e39e56d1ae0432f2579339d0",
"implementations": [
"linea:0x6D967F862d8c5D9E230a976AB2063eD1d4D7A43c"
]
},
{
"timestamp": 1742047419,
"transactionHash": "0xdf59afa26b1f9768cf98f2f59a55a175faa5e911501d2043e6564340d0841140",
"implementations": [
"linea:0x1998108fA7993EA67a8B1a99d392a3288C5a5521"
]
}
],
"description": "L2 side of the old and now unused USDC bridge.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Linea Multisig 3",
"upgradableBy": [
{
"name": "Linea Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0xA2Ee6Fce4ACB62D95448729cDb781e3BEb62504A#code"
},
{
"name": "L2Timelock",
"isVerified": true,
"address": "linea:0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "A standard timelock with access control. The current minimum delay is 0s.\n* Roles:\n * **canceller**: Linea Multisig 3\n * **executor**: Linea Multisig 3\n * **proposer**: Linea Multisig 3, Linea Multisig 4\n * **timelockAdmin**: L2Timelock; ultimately Linea Multisig 3",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "linea:0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "* Roles:\n * **owner**: Linea Multisig 3",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c#code"
},
{
"name": "LineaVoyageXP",
"isVerified": true,
"address": "linea:0xd83af4fbD77f3AB65C3B1Dc4B38D7e67AEcf599A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Voyage XP tokens are non-transferrable, soulbound tokens that are distributed to recognize the community’s contribution toward the growth of the Linea ecosystem.\n",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0xd83af4fbD77f3AB65C3B1Dc4B38D7e67AEcf599A#code"
},
{
"name": "BridgedToken",
"isVerified": true,
"address": "linea:0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "Standard implementation used for assets that are native to the other layer and are bridged to this layer.\n",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "linea:0xE798695d2e78f7caeb5BbF3385433959324c02c0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "linea",
"description": "A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation.\n* Roles:\n * **owner**: Linea Multisig 3",
"discoveryDrivenData": true,
"url": "https://lineascan.build/address/linea:0xE798695d2e78f7caeb5BbF3385433959324c02c0#code"
}
]
},
"escrows": [
{
"address": "0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"sinceTimestamp": 1689159923,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xd19d4B5d358258f05D7B411E21A1460D11B0876F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1689159923,
"transactionHash": "0x3564f15a274bdc49a6ad8af161113d20a678d87efbd3d708540a9b4d026f1122",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689166667,
"transactionHash": "0x8ee4253600d68665e8d52a522d8ba7136639187b87f8079b881de9e6d1f20d2a",
"implementations": [
"eth:0xE8f627df6Cb02e415b2e6d6e112323BD269b4706"
]
},
{
"timestamp": 1689427883,
"transactionHash": "0x628efc29f5b2267f23cf613720003fafe671ee47db60b4f6610f5ae1ab838555",
"implementations": [
"eth:0x4c8d4Ce72afAA417d1F7E833725FdB4E793cd6b3"
]
},
{
"timestamp": 1691513927,
"transactionHash": "0xdff29a7f65b6bec4e8288673a5ca55e12081b4d55879e600817484f28c5a80b1",
"implementations": [
"eth:0xb32c3D0dDb0063FfB15E8a50b40cC62230D820B3"
]
},
{
"timestamp": 1707813599,
"transactionHash": "0xb4ed5b2646e45744945a4fc51da0e5e687ffe26f570b7aa3abb7b1fd4a460ea4",
"implementations": [
"eth:0xAA4b3a9515c921996Abe7930bF75Eff7466a4457"
]
},
{
"timestamp": 1711448987,
"transactionHash": "0x565c77e109aac4df41d81457bdfbdd17782d8bca9a1330c68a271c64f35d05e5",
"implementations": [
"eth:0x934Dd4C63E285551CEceF8459103554D0096c179"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0x53fC68bFfC03D17804e5A901DE42d1eeF2e64562"
]
},
{
"timestamp": 1730216147,
"transactionHash": "0x0970f422c80627f28916f9c5583ff6298070893debd191ead0cf39778e4bae14",
"implementations": [
"eth:0x1825242411792536469Cbb5843fd27Ce3e9e583A"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x07ddce60658A61dc1732Cacf2220FcE4A01C49B0"
]
}
],
"url": "https://etherscan.io/address/0xd19d4B5d358258f05D7B411E21A1460D11B0876F#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"sinceTimestamp": 1691060675,
"tokens": "*",
"excludedTokens": [
"rsETH"
],
"premintedTokens": [
"LINEA"
],
"contract": {
"isVerified": true,
"address": "eth:0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xF5058616517C068C7b8c7EbC69FF636Ade9066d6"
],
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1691067875,
"transactionHash": "0xbc08c4596eeee0a2e2527f03c0f2e85ec9e76e062b5f86eb435a67bca8f21122",
"implementations": [
"eth:0x6ccfD65b0b14F67259C77Ca6267104e058dDB292"
]
},
{
"timestamp": 1717588175,
"transactionHash": "0x497bdab1d3fb97eed72a55fc6e3672694195b08f949c2e0e84ea4b36428ee9c6",
"implementations": [
"eth:0xd52c09E67aF3BE0977B52b4817366e9BaB5dCFA2"
]
},
{
"timestamp": 1734357131,
"transactionHash": "0x96b88112de2e594cb763bc625cc2dcb6920825bb642eb1a62ff577f0c29f616d",
"implementations": [
"eth:0x2B6A2F8880220a66DfB9059FCB76F7dB54104a34"
]
}
],
"url": "https://etherscan.io/address/0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 0s delay on code upgrades."
}
]
}
+1 -1
{
"baseTimestamp": 1761668177,
"baseTimestamp": 1764667818,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+2 -19
+2 -19
{
"creator": "Consensys",
"projectsForTvs": [
{
"projectId": "linea",
"sinceTimestamp": 1689112800
}
],
"proofSystemInfo": "\n \n ## Description\n\n [Linea prover](https://github.com/Consensys/linea-monorepo/tree/main/prover) implements a zkEVM by creating a custom arithmetization of EVM state transition and proving it in a series of recursive SNARKs (i.e. without implementing a zkVM). The proof is wrapped into a Plonk with KZG for efficient onchain verification. Linea prover targets 128 bits of security.\n\n ## Proof system\n\n Linea prover includes Wizard-IOP framework for extending polynomial IOPs with more powerful queries, Arcane compiler of Wizard-IOP into polynomial IOP and Vortex list polynomial commitment (LPC) scheme.\n\n Wizard-IOP represents an extension of polynomial IOP with a wider range of queries, including inclusion check, permutation check, range check etc. Vortex LPC is a batchable polynomial commitment that is based on [Ligero](https://eprint.iacr.org/2022/1608) with lattice-based hash functions. To achieve succinct proof size, Linea prover performs multiple rounds of self-recursion by arithmetizing the Vortex verifier in the Wizard-IOP framework. During these rounds Plonk+KZG schemes over curves BW6, BLS12-377, and BN254 are used, creating a dependency on 3 trusted setups, see [below](#trusted-setups) for more details.\n\n ### EVM circuits\n\n This level of Linea prover produces execution proof and compression proof after several rounds of self-recursive compression. Both of these are Plonk based proofs over BLS12-377 curve.\n\n Execution proof validates the correct execution of transactions within the EVM, including knowledge of correct EVM traces, correctness of precompiles and consistency of public inputs.\n\n Compression proof verifies effective and correct compression of inputs for EVM execution circuits.\n\n ### Aggregation circuits\n\n At this stage several proofs generated by execution and compression circuits are recursively verified within the finalization (or aggregation) circuit, which also checks the “connection” of all public inputs across all circuits. It leverages a composite proof system that combines several Plonk circuits on the BW6, BLS12-377, and BN254 curve with a goal of performant recursion.\n\n ### Final wrap\n\n In the end the Linea proof is wrapped in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve for even more efficiency onchain. For Plonk, Aztec Ignition trusted setup ceremony is used.\n ",
"techStack": {
"zkVM": [
{
"id": "linea",
"type": "Plonk",
"name": "Linea",
"description": "Prover system of Linea written in Go, includes Vortex polynomial commitment and Arcane compiler."
},
{
"id": "EVM",
"type": "ISA",
"name": "EVM",
"description": "Instruction language for Ethereum VM."
},
{
"id": "BLS12-377",
"type": "curve",
"name": "BLS12-377",
"description": "Pairing-friendly 377-bit prime field Weierstrass elliptic curve."
},
{
"id": "BW6-761",
"type": "curve",
"name": "BW6-761",
"description": "Pairing-friendly 761-bit prime field elliptic curve introduced by Housni and Guillevic."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "Aleo",
"risk": "yellow",
"name": "Aleo stage I trusted setup",
"shortDescription": "Trusted setup for KZG commitments over BLS12-377 curve, initially run as Aleo's Stage I setup. Ceremony has 106 participants and was publicly open for participation.",
"longDescription": "\n Ceremony generated trusted setup for KZG commitments over BLS12-377 curve, it was originally run as stage I setup\n for Aleo blockchain and later reused for Linea prover. Ceremony has 106 participants.\n\n - Repo with ceremony instructions [https://github.com/AleoNet/aleo-setup](https://github.com/AleoNet/aleo-setup)\n - Link to the ceremony details: [https://setup.aleo.org](https://setup.aleo.org/)\n "
},
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "CeloPlumo",
"name": "Celo Plumo",
"risk": "yellow",
"shortDescription": "Trusted setup for KZG commitments over BW6-761 curve, initially run for Celo Plumo. Ceremony has 55 participants and was publicly open for participation.",
"longDescription": "\n Ceremony generated trusted setup for KZG commitments over BW6-761 curve, it was originally run for Celo\n Plumo and later reused for Linea prover. Ceremony has 55 participants.\n\n - Repo with ceremony instructions: [https://github.com/celo-org/snark-setup?tab=readme-ov-file](https://github.com/celo-org/snark-setup?tab=readme-ov-file)\n - Link to the ceremony details: [https://celo.org/plumo](https://celo.org/plumo) (it is broken. Archived version here: [https://web.archive.org/web/20221201203227/https://celo.org/plumo](https://web.archive.org/web/20221201203227/https://celo.org/plumo))\n - Links to ceremony transcript: [https://console.cloud.google.com/storage/browser/plumoceremonyphase1/chunks](https://console.cloud.google.com/storage/browser/plumoceremonyphase1/chunks)\n - Link to ceremony verification code: [https://github.com/Consensys/gnark-ignition-verifier/blob/feat/celo_parser/celo/main.go](https://github.com/Consensys/gnark-ignition-verifier/blob/feat/celo_parser/celo/main.go)\n "
}
],
"verifierHashes": [
{
"hash": "0x352344753c2520da8daf4dfc60dff63ff92b6775434d5582efba9a88b2e370b3",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0xA12E79C375FB0aaddfDA597BBe7b4e9A92e9b3De",
"chain": "ethereum"
}
],
"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": "0x3153d1fecad37e37efc129c7d55aa885e83d152774e6fccded3084959d2524e9",
"hash": "0xb0444511433f868a05ccdd4ca0e2d1d8749c74b8f4b5bd630f2700cde7f41b46",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x8421D1e3fb9A737A85dC7FF531c39f324FB2aC5d",
"address": "0x814D80782aA8c508aBABE9C6956D8F1f90E5177a",
"chain": "ethereum"
}
],
"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": "0x588886af4e1b4355201cfd3b49220f1dd41e3ab6c1611a3bcd67dbdc59bacf5f",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "0x8CAE7ff138e401384df88a408314e4E9a92f274E",
"chain": "ethereum"
}
],
"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."
}
]
}
+4 -4
+4 -4
{
"ethereum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Allowed to commit transactions from the current layer to the host chain.",
"accounts": [
{
"address": "eth:0x148Ee7dAF16574cD020aFa34CC658f8F3fbd2800",
"address": "eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Trusted Aggregator (Proposer)",
"name": "Trusted Aggregator (Proposer)",
"description": "Permissioned to post new state roots and global exit roots accompanied by ZK proofs.",
"accounts": [
{
"address": "eth:0x20A53dCb196cD2bcc14Ece01F358f1C849aA51dE",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2-and-EOA-3"
},
{
"address": "eth:0x6329Fe417621925C81c16F9F9a18c203C21Af7ab",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-2-and-EOA-3"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "PolygonAdminMultisig",
"name": "PolygonAdminMultisig",
"description": "A Multisig with 5/12 threshold. \n* Can upgrade **with 3d delay**\n * AgglayerGateway [via: Timelock with 3d delay (no delay if in emergency state) → SharedProxyAdmin]\n * AgglayerBridge [via: Timelock with 3d delay (no delay if in emergency state) → SharedProxyAdmin]\n * AgglayerManager [via: Timelock with 3d delay (no delay if in emergency state) → SharedProxyAdmin]\n * AgglayerGER [via: Timelock with 3d delay (no delay if in emergency state) → SharedProxyAdmin]\n* Can interact with AgglayerGateway\n * add new routes from proof selector to verifier / pessimisticVkey for pessimistic proofs **with 3d delay** [via: Timelock with 3d delay (no delay if in emergency state)]\n * add or update default aggchain verification keys (aggchainVkey) for any given selectors \n * change the aggchainSigners and threshold (a multisig used for permissioned state transitions) \n * freeze routes from proof selector to verifier / pessimisticVkey for pessimistic proofs \n* Can interact with AgglayerBridge\n * upgrade the implementation of wrapped tokens deployed by the bridge **with 3d delay** [via: Timelock with 3d delay (no delay if in emergency state)]\n* Can interact with AgglayerManager\n * deploy new projects that use predefined rollup types (implementations) and connect them or other Agglayer chains to the PolygonRollupManager \n * manage all access control roles, add new rollup types (which are implementation contracts that can then be upgraded to by connected projects), update any connected projects to new rollup types, migrate to pessimistic proofs and rollback batches, connect existing rollups to the PolygonRollupManager **with 3d delay** [via: Timelock with 3d delay (no delay if in emergency state)]\n * manage parameters like fees for all connected projects, set the trusted aggregator, stop the emergency state, update projects and obsolete rollup types \n* Can interact with Timelock\n * propose, cancel and execute transactions in the timelock, manage all access control roles and change the minimum delay **with 6d delay or with 3d delay** [via: Timelock with 3d delay (no delay if in emergency state) with 3d delay (no delay if in emergency state) - or - acting directly with 3d delay (no delay if in emergency state)]",
"accounts": [
{
"address": "eth:0x242daE44F5d8fb54B198D03a94dA45B5a4413e21",
"type": "Contract",
"isVerified": true,
"name": "0x242d…3e21",
"url": "https://etherscan.io/address/0x242daE44F5d8fb54B198D03a94dA45B5a4413e21"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xcAB31b6A7b4d2eCd562A09e2BfA46535a18862f9",
"type": "EOA",
"isVerified": true,
"name": "0xcAB3…62f9",
"url": "https://etherscan.io/address/0xcAB31b6A7b4d2eCd562A09e2BfA46535a18862f9"
},
{
"address": "eth:0xAb3506507449bF1880f3337825efd19ac89E235E",
"type": "EOA",
"isVerified": true,
"name": "0xAb35…235E",
"url": "https://etherscan.io/address/0xAb3506507449bF1880f3337825efd19ac89E235E"
},
{
"address": "eth:0x54c401eD03D086fE13221E5422165f3b024265d9",
"type": "EOA",
"isVerified": true,
"name": "0x54c4…65d9",
"url": "https://etherscan.io/address/0x54c401eD03D086fE13221E5422165f3b024265d9"
},
{
"address": "eth:0x21618593F7147235aC8D511d68A547C935F9d417",
"type": "EOA",
"isVerified": true,
"name": "0x2161…d417",
"url": "https://etherscan.io/address/0x21618593F7147235aC8D511d68A547C935F9d417"
},
{
"address": "eth:0xED7cC82235A7757702475c8f77c7830c095FB5a2",
"type": "EOA",
"isVerified": true,
"name": "0xED7c…B5a2",
"url": "https://etherscan.io/address/0xED7cC82235A7757702475c8f77c7830c095FB5a2"
},
{
"address": "eth:0xdFEd8373695a7b3DaF268CF91e71f6a7024A56Da",
"type": "EOA",
"isVerified": true,
"name": "0xdFEd…56Da",
"url": "https://etherscan.io/address/0xdFEd8373695a7b3DaF268CF91e71f6a7024A56Da"
},
{
"address": "eth:0xffbfc0c8331C5fc912DDA3C6D4A86eEB80203238",
"type": "EOA",
"isVerified": true,
"name": "0xffbf…3238",
"url": "https://etherscan.io/address/0xffbfc0c8331C5fc912DDA3C6D4A86eEB80203238"
},
{
"address": "eth:0xeD44D1CFfB91e163CB7126bdEeA83959f175dB37",
"type": "EOA",
"isVerified": true,
"name": "0xeD44…dB37",
"url": "https://etherscan.io/address/0xeD44D1CFfB91e163CB7126bdEeA83959f175dB37"
},
{
"address": "eth:0x516eEcfb38aA308c5f1878497108c7d054fd46B7",
"type": "EOA",
"isVerified": true,
"name": "0x516e…46B7",
"url": "https://etherscan.io/address/0x516eEcfb38aA308c5f1878497108c7d054fd46B7"
},
{
"address": "eth:0x4c1665d6651ecEfa59B9B3041951608468b18891",
"type": "EOA",
"isVerified": true,
"name": "0x4c16…8891",
"url": "https://etherscan.io/address/0x4c1665d6651ecEfa59B9B3041951608468b18891"
},
{
"address": "eth:0xA0B02B28920812324f1cC3255bd8840867d3f227",
"type": "EOA",
"isVerified": true,
"name": "0xA0B0…f227",
"url": "https://etherscan.io/address/0xA0B02B28920812324f1cC3255bd8840867d3f227"
},
{
"address": "eth:0xEad77b01ea770839F7f576Cd1516Ff6A298d9dB2",
"type": "EOA",
"isVerified": true,
"name": "0xEad7…9dB2",
"url": "https://etherscan.io/address/0xEad77b01ea770839F7f576Cd1516Ff6A298d9dB2"
}
],
"discoveryDrivenData": true
},
{
"id": "PolygonSecurityCouncil",
"name": "PolygonSecurityCouncil",
"description": "A Multisig with 6/8 threshold. \n* Can interact with AgglayerManager\n * activate the emergency state in the PolygonRollupManager and in the shared bridge immediately, effectively pausing all projects connected to them and making system contracts instantly upgradable ",
"accounts": [
{
"address": "eth:0x37c58Dfa7BF0A165C5AAEdDf3e2EdB475ac6Dcb6",
"type": "Contract",
"isVerified": true,
"name": "0x37c5…Dcb6",
"url": "https://etherscan.io/address/0x37c58Dfa7BF0A165C5AAEdDf3e2EdB475ac6Dcb6"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xFe45baf0F18c207152A807c1b05926583CFE2e4b",
"type": "EOA",
"isVerified": true,
"name": "0xFe45…2e4b",
"url": "https://etherscan.io/address/0xFe45baf0F18c207152A807c1b05926583CFE2e4b"
},
{
"address": "eth:0xaF46a0ddf80DFFB49C87656625E65A37499B261D",
"type": "EOA",
"isVerified": true,
"name": "0xaF46…261D",
"url": "https://etherscan.io/address/0xaF46a0ddf80DFFB49C87656625E65A37499B261D"
},
{
"address": "eth:0xBDc235cC9d6Baa641c5ae306bc83962475A5FEFf",
"type": "EOA",
"isVerified": true,
"name": "0xBDc2…FEFf",
"url": "https://etherscan.io/address/0xBDc235cC9d6Baa641c5ae306bc83962475A5FEFf"
},
{
"address": "eth:0x4c1665d6651ecEfa59B9B3041951608468b18891",
"type": "EOA",
"isVerified": true,
"name": "0x4c16…8891",
"url": "https://etherscan.io/address/0x4c1665d6651ecEfa59B9B3041951608468b18891"
},
{
"address": "eth:0x3ab9f4b964eE665F7CDf1d65f1cEEc6196B0D622",
"type": "EOA",
"isVerified": true,
"name": "0x3ab9…D622",
"url": "https://etherscan.io/address/0x3ab9f4b964eE665F7CDf1d65f1cEEc6196B0D622"
},
{
"address": "eth:0x49c15936864690bCd6af0ecaca8E874adFF30E86",
"type": "EOA",
"isVerified": true,
"name": "0x49c1…0E86",
"url": "https://etherscan.io/address/0x49c15936864690bCd6af0ecaca8E874adFF30E86"
},
{
"address": "eth:0x9F7dfAb2222A473284205cdDF08a677726d786A0",
"type": "EOA",
"isVerified": true,
"name": "0x9F7d…86A0",
"url": "https://etherscan.io/address/0x9F7dfAb2222A473284205cdDF08a677726d786A0"
},
{
"address": "eth:0x21887c89368bf918346c62460e0c339113801C28",
"type": "EOA",
"isVerified": true,
"name": "0x2188…1C28",
"url": "https://etherscan.io/address/0x21887c89368bf918346c62460e0c339113801C28"
}
],
"discoveryDrivenData": true
},
{
"id": "PolygonCreateRollupMultisig",
"name": "PolygonCreateRollupMultisig",
"description": "A Multisig with 3/8 threshold. \n* Can interact with AgglayerManager\n * deploy new projects that use predefined rollup types (implementations) and connect them or other Agglayer chains to the PolygonRollupManager ",
"accounts": [
{
"address": "eth:0xC74eFc7fdb3BeC9c6930E91FFDF761b160dF79dB",
"type": "Contract",
"isVerified": true,
"name": "0xC74e…79dB",
"url": "https://etherscan.io/address/0xC74eFc7fdb3BeC9c6930E91FFDF761b160dF79dB"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xAb3506507449bF1880f3337825efd19ac89E235E",
"type": "EOA",
"isVerified": true,
"name": "0xAb35…235E",
"url": "https://etherscan.io/address/0xAb3506507449bF1880f3337825efd19ac89E235E"
},
{
"address": "eth:0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5",
"type": "EOA",
"isVerified": true,
"name": "0x3038…D3b5",
"url": "https://etherscan.io/address/0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5"
},
{
"address": "eth:0xa43901c63f7702C407378E55E0d0EB4064a2AE31",
"type": "EOA",
"isVerified": true,
"name": "0xa439…AE31",
"url": "https://etherscan.io/address/0xa43901c63f7702C407378E55E0d0EB4064a2AE31"
},
{
"address": "eth:0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC",
"type": "EOA",
"isVerified": true,
"name": "0xD947…fCFC",
"url": "https://etherscan.io/address/0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC"
},
{
"address": "eth:0xCE27d8BCee45dB3E457EcF8629264Ca7893AAaAc",
"type": "EOA",
"isVerified": true,
"name": "0xCE27…AaAc",
"url": "https://etherscan.io/address/0xCE27d8BCee45dB3E457EcF8629264Ca7893AAaAc"
},
{
"address": "eth:0x0B84d2e66192448B680BBd06813efF9e5923Ca77",
"type": "EOA",
"isVerified": true,
"name": "0x0B84…Ca77",
"url": "https://etherscan.io/address/0x0B84d2e66192448B680BBd06813efF9e5923Ca77"
},
{
"address": "eth:0x0185fb2F27f2Acda3e2a6B8530b342333e9f22A6",
"type": "EOA",
"isVerified": true,
"name": "0x0185…22A6",
"url": "https://etherscan.io/address/0x0185fb2F27f2Acda3e2a6B8530b342333e9f22A6"
},
{
"address": "eth:0x7316DeD96c4Ff756c74D1D9c4178f6921Aff4496",
"type": "EOA",
"isVerified": true,
"name": "0x7316…4496",
"url": "https://etherscan.io/address/0x7316DeD96c4Ff756c74D1D9c4178f6921Aff4496"
}
],
"discoveryDrivenData": true
},
{
"id": "Polygon zkEVM Multisig",
"name": "Polygon zkEVM Multisig",
"description": "A Multisig with 5/10 threshold. \n* Can upgrade **with no delay**\n * daiBridge \n * usdcBridge \n * wstETHBridge ",
"accounts": [
{
"address": "eth:0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904",
"type": "Contract",
"isVerified": true,
"name": "0xf694…E904",
"url": "https://etherscan.io/address/0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x099198353446A9E3a20672eDC1Bd461E978842c3",
"type": "EOA",
"isVerified": true,
"name": "0x0991…42c3",
"url": "https://etherscan.io/address/0x099198353446A9E3a20672eDC1Bd461E978842c3"
},
{
"address": "eth:0xb771380f912E4b5F6beDdf81314C383c13F16ab5",
"type": "EOA",
"isVerified": true,
"name": "0xb771…6ab5",
"url": "https://etherscan.io/address/0xb771380f912E4b5F6beDdf81314C383c13F16ab5"
},
{
"address": "eth:0xD09971D8ed6C6a5e57581e90d593ee5B94e348D4",
"type": "EOA",
"isVerified": true,
"name": "0xD099…48D4",
"url": "https://etherscan.io/address/0xD09971D8ed6C6a5e57581e90d593ee5B94e348D4"
},
{
"address": "eth:0xc4591c41e01a7a654B5427f39Bbd1dEe5bD45D1D",
"type": "EOA",
"isVerified": true,
"name": "0xc459…5D1D",
"url": "https://etherscan.io/address/0xc4591c41e01a7a654B5427f39Bbd1dEe5bD45D1D"
},
{
"address": "eth:0xE6Ee0F8D81170160d50ed77b9C91E6219473d43a",
"type": "EOA",
"isVerified": true,
"name": "0xE6Ee…d43a",
"url": "https://etherscan.io/address/0xE6Ee0F8D81170160d50ed77b9C91E6219473d43a"
},
{
"address": "eth:0xd1B856ee12Bd00922cae8DD86ab068f8c0F95224",
"type": "EOA",
"isVerified": true,
"name": "0xd1B8…5224",
"url": "https://etherscan.io/address/0xd1B856ee12Bd00922cae8DD86ab068f8c0F95224"
},
{
"address": "eth:0xF53D1fB2EeD22Cf1E8f7E90Da7f1CAe88344065F",
"type": "EOA",
"isVerified": true,
"name": "0xF53D…065F",
"url": "https://etherscan.io/address/0xF53D1fB2EeD22Cf1E8f7E90Da7f1CAe88344065F"
},
{
"address": "eth:0xf56AE6520776934127AB68438d1b4652BCe07F8f",
"type": "EOA",
"isVerified": true,
"name": "0xf56A…7F8f",
"url": "https://etherscan.io/address/0xf56AE6520776934127AB68438d1b4652BCe07F8f"
},
{
"address": "eth:0x4DE44Aa0Ef9DB64DF3eB3465d35D73d0409d44ed",
"type": "EOA",
"isVerified": true,
"name": "0x4DE4…44ed",
"url": "https://etherscan.io/address/0x4DE44Aa0Ef9DB64DF3eB3465d35D73d0409d44ed"
},
{
"address": "eth:0x4E83124eD15b13265240B61EC9627797CCE1032E",
"type": "EOA",
"isVerified": true,
"name": "0x4E83…032E",
"url": "https://etherscan.io/address/0x4E83124eD15b13265240B61EC9627797CCE1032E"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x148Ee7dAF16574cD020aFa34CC658f8F3fbd2800",
"address": "eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A",
"type": "EOA",
"isVerified": true,
"name": "0x148E…2800",
"url": "https://etherscan.io/address/0x148Ee7dAF16574cD020aFa34CC658f8F3fbd2800"
"name": "0xD6f0…Be5A",
"url": "https://etherscan.io/address/0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2-and-EOA-3",
"name": "EOA 2 and EOA 3",
"accounts": [
{
"address": "eth:0x20A53dCb196cD2bcc14Ece01F358f1C849aA51dE",
"type": "EOA",
"isVerified": true,
"name": "0x20A5…51dE",
"url": "https://etherscan.io/address/0x20A53dCb196cD2bcc14Ece01F358f1C849aA51dE"
},
{
"address": "eth:0x6329Fe417621925C81c16F9F9a18c203C21Af7ab",
"type": "EOA",
"isVerified": true,
"name": "0x6329…f7ab",
"url": "https://etherscan.io/address/0x6329Fe417621925C81c16F9F9a18c203C21Af7ab"
}
],
"chain": "ethereum",
"description": "* A trusted Aggregator - acting directly",
"discoveryDrivenData": true
}
]
}
}
+33 -5
+32 -4
{
"ethereum": {
"roles": [
{
"id": "Validator",
"name": "Validator",
"description": "Permissioned to call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the main Diamond contract.",
"accounts": [
{
"address": "eth:0x2B711ee00B50d67667c4439c28AeAf7B75CB6E0D",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-4"
},
{
"address": "eth:0xc300Cc8f451C9EF8DaDE822bd0f9636117209F70",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-4"
},
{
"address": "eth:0x174FaD6bA367F6445057e278f30d4AFfFb305444",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-4"
},
{
"address": "eth:0xF10A8594e18ae4018384Ce27e5A7c9993637f5aC",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-4"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "EmergencyUpgradeBoard",
"name": "EmergencyUpgradeBoard",
"accounts": [
{
"address": "eth:0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6",
"type": "Contract",
"isVerified": true,
"name": "0xECE8…E3f6",
"url": "https://etherscan.io/address/0xECE8e30bFc92c2A8e11e6cb2e17B70868572E3f6"
}
],
"chain": "ethereum",
"description": "A custom contract allowing a 3/3 of SecurityCouncil, ZK Foundation Multisig and Guardians to `executeEmergencyUpgrade()` via the ProtocolUpgradeHandler.\n* Can upgrade **with no delay**\n * BridgeHub [via: ProtocolUpgradeHandler → ProxyAdmin]\n * MessageRoot [via: ProtocolUpgradeHandler → ProxyAdmin]\n * CTMDeploymentTracker [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1AssetRouter [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1NativeTokenVault [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainTypeManager [via: ProtocolUpgradeHandler → ProxyAdmin]\n * L1Nullifier [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ChainAssetHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n * ProtocolUpgradeHandler [via: ProtocolUpgradeHandler → ProxyAdmin]\n* Can interact with BridgeHub\n * set critical contract addresses for the shared cluster, register settlement layers, pause and unpause migrations and the bridge and manage zk chain registration [via: ProtocolUpgradeHandler]\n* Can interact with L1NativeTokenVault\n * pause / unpause the bridge [via: ProtocolUpgradeHandler]\n* Can interact with ChainTypeManager\n * manage the shared ValidatorTimelock contract address and the admin role, register and execute upgrades (and set their deadlines), freeze, revert batches and set permissioned validators and fee params for all connected chains [via: ProtocolUpgradeHandler]\n* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references [via: ProtocolUpgradeHandler]\n* Can interact with ChainAssetHandler\n * pause, resume chain migrations [via: ProtocolUpgradeHandler]\n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) [via: ProtocolUpgradeHandler]",
"discoveryDrivenData": true
},
{
"id": "Matter Labs Multisig",
"name": "Matter Labs Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: EraChainAdminProxy → ProxyAdmin]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: EraChainAdminProxy]\n* Can interact with ChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: EraChainAdminProxy]",
"accounts": [
{
"address": "eth:0x4e4943346848c4867F81dFb37c4cA9C5715A7828",
"type": "Contract",
"isVerified": true,
"name": "0x4e49…7828",
"url": "https://etherscan.io/address/0x4e4943346848c4867F81dFb37c4cA9C5715A7828"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929",
"type": "EOA",
"isVerified": true,
"name": "0x4A33…C929",
"url": "https://etherscan.io/address/0x4A333c167Ce76C46149c6B0197977ae02aaeC929"
},
{
"address": "eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481",
"type": "EOA",
"isVerified": true,
"name": "0x3F00…c481",
"url": "https://etherscan.io/address/0x3F0009D00cc78979d00Eb635490F23E8d6aCc481"
},
{
"address": "eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1",
"type": "EOA",
"isVerified": true,
"name": "0x5C7E…f1B1",
"url": "https://etherscan.io/address/0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1"
},
{
"address": "eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc",
"type": "EOA",
"isVerified": true,
"name": "0x3068…d2Bc",
"url": "https://etherscan.io/address/0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc"
},
{
"address": "eth:0x702caCafA54B88e9c54449563Fb2e496e85c78b7",
"type": "EOA",
"isVerified": true,
"name": "0x702c…78b7",
"url": "https://etherscan.io/address/0x702caCafA54B88e9c54449563Fb2e496e85c78b7"
},
{
"address": "eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE",
"type": "EOA",
"isVerified": true,
"name": "0xFAdb…79AE",
"url": "https://etherscan.io/address/0xFAdb20191Ab38362C50f52909817B74214CA79AE"
},
{
"address": "eth:0xfd03dA3aeb6807a98db96C1704Ea4CFf031BaEd2",
"type": "EOA",
"isVerified": true,
"name": "0xfd03…aEd2",
"url": "https://etherscan.io/address/0xfd03dA3aeb6807a98db96C1704Ea4CFf031BaEd2"
},
{
"address": "eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7",
"type": "EOA",
"isVerified": true,
"name": "0x7408…70C7",
"url": "https://etherscan.io/address/0x7408A268e5E6e8F08917c5b71015F4B9044970C7"
}
],
"discoveryDrivenData": true
},
{
"id": "Guardians",
"name": "Guardians",
"description": "A Multisig with 5/8 threshold. \nCustom Multisig implementation that has a general threshold of 5 and a specific threshold for extending the legal voting period of 2.\n* Can interact with ProtocolUpgradeHandler\n * extend the legal veto period, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x600dA620Ab29F41ABC6596a15981e14cE58c86b8",
"type": "Contract",
"isVerified": true,
"name": "0x600d…86b8",
"url": "https://etherscan.io/address/0x600dA620Ab29F41ABC6596a15981e14cE58c86b8"
}
],
"chain": "ethereum",
"references": [
{
"title": "Guardians - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-4-zksync-guardians"
}
],
"participants": [
{
"address": "eth:0x015318c16AE443a20DE0A776dB06a59F0D279057",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x015318c16AE443a20DE0A776dB06a59F0D279057"
},
{
"address": "eth:0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x178D8Eb1A1fb81B5102808A83318Bb04C6a9fC6D"
},
{
"address": "eth:0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x2A90830083C5Ca1f18d7AA7fCDC2998f93475384"
},
{
"address": "eth:0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x538612F6eba6ff80FBD95D60dCDee16b8FfF2c0f"
},
{
"address": "eth:0x55c671BcE13120387Ded710A1d1b80C0e3d8E857",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x55c671BcE13120387Ded710A1d1b80C0e3d8E857"
},
{
"address": "eth:0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x590926dBCDfD19627c3BbD2A6Eb96DeC7a3AbF69"
},
{
"address": "eth:0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x6D26874130A174839b9cd8CB87Ed4E09D0c1a5f0"
},
{
"address": "eth:0xCe7a3dFcc35602155809920Ff65e093aa726f6cf",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xCe7a3dFcc35602155809920Ff65e093aa726f6cf"
}
],
"discoveryDrivenData": true
},
{
"id": "SecurityCouncil",
"name": "SecurityCouncil",
"description": "A Multisig with 9/12 threshold. \nCustom Multisig implementation that has a general threshold of 9 but also specific thresholds for upgrade approvals (6) or soft freezes (3).\n* Can interact with ProtocolUpgradeHandler\n * soft freeze, hard freeze, approve a protocol upgrade \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0x66E4431266DC7E04E7d8b7FE9d2181253df7F410",
"type": "Contract",
"isVerified": true,
"name": "0x66E4…F410",
"url": "https://etherscan.io/address/0x66E4431266DC7E04E7d8b7FE9d2181253df7F410"
}
],
"chain": "ethereum",
"references": [
{
"title": "Security Council members - ZK Nation docs",
"url": "https://docs.zknation.io/zksync-governance/schedule-3-zksync-security-council"
}
],
"participants": [
{
"address": "eth:0x13f07d9BF17615f6a17F272fe1A913168C275A66",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x13f07d9BF17615f6a17F272fe1A913168C275A66"
},
{
"address": "eth:0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x34Ea62D4b9bBB8AD927eFB6ab31E3Ab3474aC93a"
},
{
"address": "eth:0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x35eA56fd9eAd2567F339Eb9564B6940b9DD5653F"
},
{
"address": "eth:0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x3888777686F0b0d8c3108fc22ad8DE9E049bE26F"
},
{
"address": "eth:0x69462a81ba94D64c404575f1899a464F123497A2",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x69462a81ba94D64c404575f1899a464F123497A2"
},
{
"address": "eth:0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x725065b4eB99294BaaE57AdDA9c32e42F453FA8A"
},
{
"address": "eth:0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x84BF0Ac41Eeb74373Ddddae8b7055Bf2bD3CE6E0"
},
{
"address": "eth:0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B39Ea22e838B316Ea7D74e7C4B07d91D51ccA88"
},
{
"address": "eth:0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x9B8Be3278B7F0168D82059eb6BAc5991DcdfA803"
},
{
"address": "eth:0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xB7aC3A79A23B148c85fba259712c5A1e7ad0ca44"
},
{
"address": "eth:0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xc3Abc9f9AA75Be8341E831482cdA0125a7B1A23e"
},
{
"address": "eth:0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0xFB90Da9DC45378A1B50775Beb03aD10C7E8DC231"
}
],
"discoveryDrivenData": true
},
{
"id": "ValidatorTimelock2",
"name": "ValidatorTimelock2",
"accounts": [
{
"address": "eth:0x5D8ba173Dc6C3c90C8f7C04C9288BeF5FDbAd06E",
"type": "Contract",
"isVerified": true,
"name": "0x5D8b…d06E",
"url": "https://etherscan.io/address/0x5D8ba173Dc6C3c90C8f7C04C9288BeF5FDbAd06E"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h.\n* Can interact with zkCandyZkEvm\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "ValidatorTimelock",
"name": "ValidatorTimelock",
"accounts": [
{
"address": "eth:0x8c0Bfc04AdA21fd496c55B8C50331f904306F564",
"type": "Contract",
"isVerified": true,
"name": "0x8c0B…F564",
"url": "https://etherscan.io/address/0x8c0Bfc04AdA21fd496c55B8C50331f904306F564"
}
],
"chain": "ethereum",
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h.\n* Can interact with zkCandyZkEvm\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "zkCandy Multisig",
"name": "zkCandy Multisig",
"description": "A Multisig with 3/4 threshold. \n* Can interact with zkCandyZkEvm\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: zkCandyZkEvmAdmin]",
"accounts": [
{
"address": "eth:0x8eb156588D2FAD21dE0066BAA5BfDcd940695196",
"type": "Contract",
"isVerified": true,
"name": "0x8eb1…5196",
"url": "https://etherscan.io/address/0x8eb156588D2FAD21dE0066BAA5BfDcd940695196"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2ED696E90ff598FB537100794D8463d8ea168534",
"type": "EOA",
"isVerified": true,
"name": "0x2ED6…8534",
"url": "https://etherscan.io/address/0x2ED696E90ff598FB537100794D8463d8ea168534"
},
{
"address": "eth:0x792b54CC6203b219ee9F3Dc9A978516E05c754f5",
"type": "EOA",
"isVerified": true,
"name": "0x792b…54f5",
"url": "https://etherscan.io/address/0x792b54CC6203b219ee9F3Dc9A978516E05c754f5"
},
{
"address": "eth:0x8142409931f554d99013de129cdDc70EA016d62d",
"type": "EOA",
"isVerified": true,
"name": "0x8142…d62d",
"url": "https://etherscan.io/address/0x8142409931f554d99013de129cdDc70EA016d62d"
},
{
"address": "eth:0xf218a2F1E0ec05121D26483c504280a98Ffaf674",
"type": "EOA",
"isVerified": true,
"name": "0xf218…f674",
"url": "https://etherscan.io/address/0xf218a2F1E0ec05121D26483c504280a98Ffaf674"
}
],
"discoveryDrivenData": true
},
{
"id": "ZK Foundation Multisig",
"name": "ZK Foundation Multisig",
"description": "A Multisig with 3/5 threshold. \n* Can interact with EmergencyUpgradeBoard\n * one of its 3/3 signers ",
"accounts": [
{
"address": "eth:0xbC1653bd3829dfEc575AfC3816D4899cd103B51c",
"type": "Contract",
"isVerified": true,
"name": "0xbC16…B51c",
"url": "https://etherscan.io/address/0xbC1653bd3829dfEc575AfC3816D4899cd103B51c"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52",
"type": "EOA",
"isVerified": true,
"name": "0xA10f…bE52",
"url": "https://etherscan.io/address/0xA10fcD4B012467FAC48ce63838B7bE56AB16bE52"
},
{
"address": "eth:0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222",
"type": "EOA",
"isVerified": true,
"name": "0x56B3…2222",
"url": "https://etherscan.io/address/0x56B3120c32AE9C3188fafc5Cc542F9c53B0b2222"
},
{
"address": "eth:0x441e5c8910Ef39996B2D01499509861228cbc2d1",
"type": "EOA",
"isVerified": true,
"name": "0x441e…c2d1",
"url": "https://etherscan.io/address/0x441e5c8910Ef39996B2D01499509861228cbc2d1"
},
{
"address": "eth:0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709",
"type": "EOA",
"isVerified": true,
"name": "0x0B2E…4709",
"url": "https://etherscan.io/address/0x0B2E7ffbcD1E3e6f5034555Fb638889FE7564709"
},
{
"address": "eth:0x610e45F112e0c8a9aA7137677C83E7A198A1b991",
"type": "EOA",
"isVerified": true,
"name": "0x610e…b991",
"url": "https://etherscan.io/address/0x610e45F112e0c8a9aA7137677C83E7A198A1b991"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-4",
"name": "EOA 1, EOA 2, EOA 3 and EOA 4",
"accounts": [
{
"address": "eth:0x2B711ee00B50d67667c4439c28AeAf7B75CB6E0D",
"type": "EOA",
"isVerified": true,
"name": "0x2B71…6E0D",
"url": "https://etherscan.io/address/0x2B711ee00B50d67667c4439c28AeAf7B75CB6E0D"
},
{
"address": "eth:0xc300Cc8f451C9EF8DaDE822bd0f9636117209F70",
"type": "EOA",
"isVerified": true,
"name": "0xc300…9F70",
"url": "https://etherscan.io/address/0xc300Cc8f451C9EF8DaDE822bd0f9636117209F70"
},
{
"address": "eth:0x174FaD6bA367F6445057e278f30d4AFfFb305444",
"type": "EOA",
"isVerified": true,
"name": "0x174F…5444",
"url": "https://etherscan.io/address/0x174FaD6bA367F6445057e278f30d4AFfFb305444"
},
{
"address": "eth:0xF10A8594e18ae4018384Ce27e5A7c9993637f5aC",
"type": "EOA",
"isVerified": true,
"name": "0xF10A…f5aC",
"url": "https://etherscan.io/address/0xF10A8594e18ae4018384Ce27e5A7c9993637f5aC"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "ProtocolTimelockController(L2->L1)",
"name": "ProtocolTimelockController(L2->L1)",
"accounts": [
{
"address": "eth:0x085b8B6407f150D62adB1EF926F7f304600ec714",
"type": "EOA",
"isVerified": true,
"name": "0x085b…c714",
"url": "https://etherscan.io/address/0x085b8B6407f150D62adB1EF926F7f304600ec714"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolUpgradeHandler\n * start (queue) upgrades ",
"discoveryDrivenData": true
}
]
},
"zksync2": {
"roles": [],
"actors": [
{
"id": "ZkProtocolGovernor",
"name": "ZkProtocolGovernor",
"accounts": [
{
"address": "zksync:0x76705327e682F2d96943280D99464Ab61219e34f",
"type": "Contract",
"isVerified": true,
"name": "0x7670…e34f",
"url": "https://era.zksync.network/address/0x76705327e682F2d96943280D99464Ab61219e34f"
}
],
"chain": "zksync2",
"description": "Main Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for protocol upgrade proposals (ZIPs) that start on ZKsync Era, go through Ethereum Layer 1 and can - from there - target all L1 and L2 contracts. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ProtocolTimelockController\n * cancel queued transactions \n * execute transactions that are ready \n * manage all access control roles and change the minimum delay [via: ProtocolTimelockController]\n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkTokenGovernor",
"name": "ZkTokenGovernor",
"accounts": [
{
"address": "zksync:0xb83FF6501214ddF40C91C9565d095400f3F45746",
"type": "Contract",
"isVerified": true,
"name": "0xb83F…5746",
"url": "https://era.zksync.network/address/0xb83FF6501214ddF40C91C9565d095400f3F45746"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Token Program Proposals (TPPs) usually targeting the ZK token on ZKsync Era. At least 21M ZK tokens are necessary to start a proposal (for delegates) and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with ZkToken\n * grant the MINTER_ROLE to arbitrary addresses, thus controlling the minting of the ZK token **with 3d delay** [via: ZkTokenTimelockController with 3d delay]\n* Can interact with ZkTokenTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: ZkTokenTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "ZkGovOpsGovernor",
"name": "ZkGovOpsGovernor",
"accounts": [
{
"address": "zksync:0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160",
"type": "Contract",
"isVerified": true,
"name": "0xEEEa…b160",
"url": "https://era.zksync.network/address/0xEEEa739a8b6fB1b8f703E23C9Be03CeeA643b160"
}
],
"chain": "zksync2",
"description": "Governance contract allowing for token voting (simple majority) with the ZK token through delegates. This contract is used for Governance Advisory Proposals (GAPs) that are not executable onchain. At least 21M ZK tokens are necessary to start a proposal and a 630M quorum of voted tokens must be met to succeed.\n* Can interact with GovOpsTimelockController\n * manage all access control roles and change the minimum delay **with 6d delay** [via: GovOpsTimelockController with 3d delay with 3d delay]\n * cancel queued transactions \n * execute transactions that are ready \n * propose transactions ",
"discoveryDrivenData": true
},
{
"id": "Guardians_l2Alias",
"name": "Guardians_l2Alias",
"accounts": [
{
"address": "zksync:0x711ea620AB29f41AbC6596a15981e14ce58C97c9",
"type": "EOA",
"isVerified": true,
"name": "0x711e…97c9",
"url": "https://era.zksync.network/address/0x711ea620AB29f41AbC6596a15981e14ce58C97c9"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) \n* Can interact with ZkGovOpsGovernor\n * cancel proposals while they are pending (after having been proposed) or active (during the voting period) ",
"discoveryDrivenData": true
},
{
"id": "ZKFoundationMultisig_l2Alias",
"name": "ZKFoundationMultisig_l2Alias",
"accounts": [
{
"address": "zksync:0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D",
"type": "EOA",
"isVerified": true,
"name": "0xcd27…C62D",
"url": "https://era.zksync.network/address/0xcd2753Bd3829dfeC575AFC3816d4899CD103C62D"
}
],
"chain": "zksync2",
"description": "* Can interact with ZkTokenGovernor\n * make direct proposals without owning ZK tokens. In propose-guarded mode, this address is the ONLY allowed proposer. Propose-guarded mode is currently set to false ",
"discoveryDrivenData": true
},
{
"id": "ProtocolUpgradeHandler_l2Alias",
"name": "ProtocolUpgradeHandler_l2Alias",
"accounts": [
{
"address": "zksync:0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4",
"type": "EOA",
"isVerified": true,
"name": "0xF41E…6bc4",
"url": "https://era.zksync.network/address/0xF41EcA3047B37dc7d88849de4a4dc07937Ad6bc4"
}
],
"chain": "zksync2",
"description": "* Can upgrade **with no delay**\n * ZkToken [via: ZkTokenProxyAdmin]\n* Can interact with ZkToken\n * control all roles in the ZkToken access control, including the minter roles ",
"discoveryDrivenData": true
}
]
}
}
+1 -1
{
"baseTimestamp": 1764167689,
"baseTimestamp": 1764668728,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}