9f20b30c (main)
and
b48f0904 (PR)
+1157 -40
+1 -1
1759216045
1766016000
+47 -3
{
"badges": [],
"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": "EthereumCalldata",
"type": "DA",
"name": "Ethereum with calldata",
"description": "This project is posting its data to Ethereum as calldata",
"action": {
"type": "publicDaHighlight",
"slug": "ethereum"
}
},
{
"id": "ZKStack",
"type": "Stack",
"name": "Built on the ZK Stack",
"description": "The project is built on the ZK Stack",
"action": {
"type": "scalingFilter",
"id": "stack",
"value": "ZK Stack"
}
},
{
"id": "ElasticChain",
"type": "Infra",
"name": "Part of the Elastic Chain",
"description": "The project is part of the Elastic Chain, meaning it's based on the ZK stack and uses the shared contracts",
"action": {
"type": "scalingFilter",
"id": "infrastructure",
"value": "Elastic Chain"
}
}
],
"description": "ADI Chain is a zk rollup built for scale and policy alignment.",
"links": {
"websites": [
"https://adi.foundation/"
],
"explorers": [
"https://explorer.testnet.adifoundation.ai/"
"https://explorer.adifoundation.ai/"
],
"repositories": [
"https://github.com/orgs/ADI-Foundation-Labs/"
],
"bridges": [
"https://bridge.testnet.adifoundation.ai/"
"https://bridge.adifoundation.ai"
],
"documentation": [
"https://adi-foundation.gitbook.io/adi-chain-documentation"
],
"socialMedia": [
"https://x.com/ADIChain_",
"https://discord.com/invite/adi-foundation"
]
}
}
+9 -1
null
[
{
"title": "ADI chain mainnet launch",
"url": "https://x.com/ADIChain_/status/1998366460549480470",
"date": "2025-12-09T00:00:00Z",
"description": "ADI mainnet is live as a ZK stack L2 secured by the Airbender prover.",
"type": "general"
}
]
+15 -1
null
{
"apis": [
{
"type": "rpc",
"url": "https://rpc.adifoundation.ai/"
}
],
"chainId": 36900,
"explorerUrl": "https://explorer.adifoundation.ai",
"gasTokens": [
"ADI"
],
"name": "adi",
"sinceTimestamp": 1764062519
}
+35 -1
[]
[
{
"address": "0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"sinceTimestamp": 1764060407,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Main escrow contract of ADI chain.",
"url": "https://etherscan.io/address/0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
]
+11 -3
{
"capability": "universal",
"daLayer": [
"Ethereum"
],
"hostChain": {
"id": "ethereum",
"slug": "ethereum",
"name": "Ethereum"
},
"infrastructure": "Elastic Chain",
"layer": "layer2",
"proofSystem": {
"type": "Validity"
"type": "Validity",
"zkCatalogId": "airbender"
},
"purposes": [
"Universal"
],
"stacks": [
"ZK Stack"
],
"stage": "Not applicable",
"vm": []
"stage": "Stage 0",
"type": "ZK Rollup",
"vm": [
"EVM"
]
}
+71 -1
{
"stage": "NotApplicable"
"message": {
"type": "underReview",
"text": "The requirement for available node software is under review"
},
"missing": {
"nextStage": "Stage 1",
"requirements": [
"Users' withdrawals can be censored by the permissioned operators.",
"Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring.",
"The Security Council is not properly set up."
],
"principle": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
},
"stage": "Stage 0",
"summary": [
{
"stage": "Stage 0",
"requirements": [
{
"satisfied": true,
"description": "A complete and functional proof system is deployed."
},
{
"satisfied": true,
"description": "The project calls itself a rollup."
},
{
"satisfied": true,
"description": "State roots are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "Inputs for the state transition function are posted to Ethereum L1."
},
{
"satisfied": "UnderReview",
"description": "A source-available node exists that can recreate the state from Ethereum L1 data. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://github.com/matter-labs/zksync-era)"
}
]
},
{
"stage": "Stage 1",
"requirements": [
{
"satisfied": false,
"description": "Users' withdrawals can be censored by the permissioned operators."
},
{
"satisfied": false,
"description": "Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring."
},
{
"satisfied": false,
"description": "The Security Council is not properly set up."
}
],
"principle": {
"satisfied": false,
"description": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
}
},
{
"stage": "Stage 2",
"requirements": [
{
"satisfied": false,
"description": "Upgrades unrelated to onchain provable bugs provide less than 30d to exit."
}
]
}
]
}
+18 -15
{
"self": {
"stateValidation": {
"value": "",
"description": "No information available.",
"sentiment": "neutral"
"value": "Validity proofs (ST, SN)",
"description": "STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup.",
"sentiment": "good",
"orderHint": null
},
"dataAvailability": {
"value": "",
"description": "No information available.",
"sentiment": "neutral"
"value": "Onchain (SD)",
"description": "All of the data (SD = state diffs) needed for proof construction is published onchain.",
"sentiment": "good",
"orderHint": null
},
"exitWindow": {
"value": "",
"description": "No information available.",
"sentiment": "neutral"
"value": "None",
"sentiment": "bad",
"description": "There is no window for users to exit in case of an unwanted standard upgrade because the central operator can censor withdrawal transactions by implementing a TransactionFilterer with no delay. The standard upgrade delay is 0s."
},
"sequencerFailure": {
"value": "",
"description": "No information available.",
"sentiment": "neutral"
"value": "Enqueue via L1",
"description": "Users can submit transactions to an L1 queue, but can't force them. The sequencers cannot selectively skip transactions but can stop processing the queue entirely. In other words, if the sequencers censor or are down, they are so for everyone.",
"sentiment": "warning"
},
"proposerFailure": {
"value": "",
"description": "No information available.",
"sentiment": "neutral"
"value": "Cannot withdraw",
"description": "Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen.",
"sentiment": "bad",
"orderHint": null
}
}
}
+21 -1
null
[
{
"layer": {
"value": "Ethereum",
"secondLine": "Blobs or Calldata",
"sentiment": "good",
"description": "The data is posted to Ethereum as calldata or blobs.",
"projectId": "ethereum"
},
"bridge": {
"value": "Enshrined",
"sentiment": "good",
"description": "The validating bridge has access to all the data, as it is posted onchain.",
"projectId": "ethereum"
},
"mode": {
"value": "State diffs",
"secondLine": "Compressed"
}
}
]
+76 -1
{}
{
"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.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"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": "MatterLabs proof system Airbender can be found [here](https://github.com/matter-labs/zksync-airbender/tree/main) and contains essential tools like the Prover, the Verifier, and other backend components. The docs about the system can be found [here](https://github.com/matter-labs/zksync-airbender/blob/main/docs/README.md).",
"risks": [
{
"category": "Funds can be lost if",
"text": "the proof system is implemented incorrectly."
}
]
}
]
},
"upgradesAndGovernance": "\nUpgrades are managed by a Governance smart contract on L1. The owner of smart contract (eth:0xB272B188855128c10a933Edb62CC64c22B1f3754) can schedule either transparent or shadow proposals.\nTransparent proposals have full upgrade data onchain when scheduled. Shadow proposals post only the hash of the upgrade data onchain when proposed, and the full upgrade data during execution.\n\nScheduled proposals must wait a minimal delay before being executed (currently 0s). Governance supports a 'securityCouncil' role (eth:0x59Be28DE6eFb1f78802E96188d2b7907059Be59f) that can execute proposals without any delay.\n\nCurrently, the governance process does not involve ADI token holders. See this link for more info: [https://docs.adi.foundation/appendix/appendix-b-governance](https://docs.adi.foundation/appendix/appendix-b-governance).\n "
}
+6 -1
{
"associatedTokens": [],
"associatedTokens": [
{
"symbol": "ADI",
"icon": "https://coin-images.coingecko.com/coins/images/68846/large/ADI_Token-min.png?1765296433"
}
],
"warnings": []
}
+21 -1
null
[
{
"mode": "auto",
"id": "adi-ADI",
"priceId": "adi-token",
"symbol": "ADI",
"name": "ADI",
"iconUrl": "https://coin-images.coingecko.com/coins/images/68846/large/ADI_Token-min.png?1765296433",
"amount": {
"type": "balanceOfEscrow",
"chain": "ethereum",
"sinceTimestamp": 1765238400,
"address": "0x8B1484d57abBE239bB280661377363b03c89CaEa",
"decimals": 18,
"escrowAddress": "0x0A0F8912162Ff83A036883dbaDA42efF647a3065"
},
"category": "other",
"source": "canonical",
"isAssociated": false
}
]
+4 -1
null
{
"startBlock": 1,
"type": "block"
}
+1 -1
null
{}
+1 -1
null
{}
+67 -1
null
[
{
"projectId": "adi",
"sinceTimestamp": 1764103931,
"type": "l2costs",
"subtype": "batchSubmissions",
"params": {
"formula": "sharedBridge",
"address": "0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"signature": "function commitBatchesSharedBridge(address _chainAddress, uint256 _processBatchFrom, uint256 _processBatchTo, bytes)",
"selector": "0x0db9eb87",
"firstParameter": "0x0583Ef2B6416cb7B287406438B940E4d99680C5B"
}
},
{
"projectId": "adi",
"sinceTimestamp": 1761146555,
"type": "liveness",
"subtype": "proofSubmissions",
"params": {
"formula": "sharedBridge",
"address": "0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"signature": "function proveBatchesSharedBridge(address _chainAddress, uint256, uint256, bytes)",
"selector": "0x9271e450",
"firstParameter": "0x0583Ef2B6416cb7B287406438B940E4d99680C5B"
}
},
{
"projectId": "adi",
"sinceTimestamp": 1761146555,
"type": "l2costs",
"subtype": "proofSubmissions",
"params": {
"formula": "sharedBridge",
"address": "0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"signature": "function proveBatchesSharedBridge(address _chainAddress, uint256, uint256, bytes)",
"selector": "0x9271e450",
"firstParameter": "0x0583Ef2B6416cb7B287406438B940E4d99680C5B"
}
},
{
"projectId": "adi",
"sinceTimestamp": 1761146555,
"type": "liveness",
"subtype": "stateUpdates",
"params": {
"formula": "sharedBridge",
"address": "0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"signature": "function executeBatchesSharedBridge(address _chainAddress, uint256 _processBatchFrom, uint256 _processBatchTo, bytes)",
"selector": "0xa085344d",
"firstParameter": "0x0583Ef2B6416cb7B287406438B940E4d99680C5B"
}
},
{
"projectId": "adi",
"sinceTimestamp": 1761146555,
"type": "l2costs",
"subtype": "stateUpdates",
"params": {
"formula": "sharedBridge",
"address": "0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"signature": "function executeBatchesSharedBridge(address _chainAddress, uint256 _processBatchFrom, uint256 _processBatchTo, bytes)",
"selector": "0xa085344d",
"firstParameter": "0x0583Ef2B6416cb7B287406438B940E4d99680C5B"
}
}
]
+14 -1
null
[
{
"type": "ethereum",
"daLayer": "ethereum",
"sinceBlock": 23874833,
"inbox": "eth:0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"sequencers": [
"0xF8fF3e62E94807a5C687f418Fe36942dD3a24524",
"0x6090e365149d005517e2013926cD18d767f04Aa1",
"0x0b6f2116323C12EE731de6818e41861561bcd44C",
"0x37eEE7f0472F0740EAf152A3f5e888f7C5f62e51"
]
}
]
+188 -1
null
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Governance",
"name": "Governance",
"accounts": [
{
"address": "eth:0x8253F33026c49A430963FE3991441c02175bda95",
"type": "Contract",
"isVerified": true,
"name": "0x8253…da95",
"url": "https://etherscan.io/address/0x8253F33026c49A430963FE3991441c02175bda95"
}
],
"chain": "ethereum",
"description": "Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.\n* Can upgrade **with no delay**\n * ChainTypeManager [via: ProxyAdmin]\n * L1NativeTokenVault [via: ProxyAdmin]\n * L1Nullifier [via: ProxyAdmin]\n * L1MessageRoot [via: ProxyAdmin]\n * BridgeHub [via: ProxyAdmin]\n * L1ChainAssetHandler [via: ProxyAdmin]\n * CTMDeploymentTracker [via: ProxyAdmin]\n * ValidatorTimelock [via: ProxyAdmin]\n * L1AssetRouter [via: ProxyAdmin]\n* Can interact with 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 \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 \n* Can interact with RollupDAManager\n * manage allowed rollup DA pairs (allowed to be used by rollups in permanent rollup mode) ",
"discoveryDrivenData": true
},
{
"id": "ADI Multisig 2",
"name": "ADI Multisig 2",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * ServerNotifier [via: ChainAdminOwnable → ProxyAdmin]\n* Can interact with ChainTypeManager\n * revert batches for any connected chain (ZK cluster Admin role) [via: ChainAdminOwnable]\n* Can interact with BridgeHub\n * create new zk chains (based on the current version), register tokens (ZK cluster Admin role) [via: ChainAdminOwnable]",
"accounts": [
{
"address": "eth:0xB272B188855128c10a933Edb62CC64c22B1f3754",
"type": "Contract",
"isVerified": true,
"name": "0xB272…3754",
"url": "https://etherscan.io/address/0xB272B188855128c10a933Edb62CC64c22B1f3754"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9",
"type": "EOA",
"isVerified": true,
"name": "0x2e48…9Dc9",
"url": "https://etherscan.io/address/0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9"
},
{
"address": "eth:0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE",
"type": "EOA",
"isVerified": true,
"name": "0x3740…1ecE",
"url": "https://etherscan.io/address/0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE"
},
{
"address": "eth:0x288c18627a5d15a380B5d3f8A78667D543A066A9",
"type": "EOA",
"isVerified": true,
"name": "0x288c…66A9",
"url": "https://etherscan.io/address/0x288c18627a5d15a380B5d3f8A78667D543A066A9"
}
],
"discoveryDrivenData": true
},
{
"id": "ADI Multisig 1",
"name": "ADI Multisig 1",
"description": "A Multisig with 2/3 threshold. \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: ChainAdminOwnable]",
"accounts": [
{
"address": "eth:0xF50293Ac52f987122DcD67Eda0cFb34E9d7a0Cf9",
"type": "Contract",
"isVerified": true,
"name": "0xF502…0Cf9",
"url": "https://etherscan.io/address/0xF50293Ac52f987122DcD67Eda0cFb34E9d7a0Cf9"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9",
"type": "EOA",
"isVerified": true,
"name": "0x2e48…9Dc9",
"url": "https://etherscan.io/address/0x2e48bd8536b3756D95B44312dBD5BE0e56c29Dc9"
},
{
"address": "eth:0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE",
"type": "EOA",
"isVerified": true,
"name": "0x3740…1ecE",
"url": "https://etherscan.io/address/0x3740B047227a94AcB5eCeCc5b7D6148857C81ecE"
},
{
"address": "eth:0x288c18627a5d15a380B5d3f8A78667D543A066A9",
"type": "EOA",
"isVerified": true,
"name": "0x288c…66A9",
"url": "https://etherscan.io/address/0x288c18627a5d15a380B5d3f8A78667D543A066A9"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 1, EOA 2, EOA 3 and EOA 5",
"accounts": [
{
"address": "eth:0x0b6f2116323C12EE731de6818e41861561bcd44C",
"type": "EOA",
"isVerified": true,
"name": "0x0b6f…d44C",
"url": "https://etherscan.io/address/0x0b6f2116323C12EE731de6818e41861561bcd44C"
},
{
"address": "eth:0x37eEE7f0472F0740EAf152A3f5e888f7C5f62e51",
"type": "EOA",
"isVerified": true,
"name": "0x37eE…2e51",
"url": "https://etherscan.io/address/0x37eEE7f0472F0740EAf152A3f5e888f7C5f62e51"
},
{
"address": "eth:0x6090e365149d005517e2013926cD18d767f04Aa1",
"type": "EOA",
"isVerified": true,
"name": "0x6090…4Aa1",
"url": "https://etherscan.io/address/0x6090e365149d005517e2013926cD18d767f04Aa1"
},
{
"address": "eth:0xF8fF3e62E94807a5C687f418Fe36942dD3a24524",
"type": "EOA",
"isVerified": true,
"name": "0xF8fF…4524",
"url": "https://etherscan.io/address/0xF8fF3e62E94807a5C687f418Fe36942dD3a24524"
}
],
"chain": "ethereum",
"description": "* Can interact with ValidatorTimelock\n * call the functions to commit, prove, execute and revert L2 batches through the ValidatorTimelock in the ADI Diamond contract ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0xb63320480218fbC7Cc31c3f92C254D4732528985",
"type": "EOA",
"isVerified": true,
"name": "0xb633…8985",
"url": "https://etherscan.io/address/0xb63320480218fbC7Cc31c3f92C254D4732528985"
}
],
"chain": "ethereum",
"description": "* Can interact with L1Nullifier\n * pause, unpause and set critical escrow address references ",
"discoveryDrivenData": true
},
{
"id": "EOA-6",
"name": "EOA 6",
"accounts": [
{
"address": "eth:0x5CcF89Ba204457129E6250B2570d77DbA790366a",
"type": "EOA",
"isVerified": true,
"name": "0x5CcF…366a",
"url": "https://etherscan.io/address/0x5CcF89Ba204457129E6250B2570d77DbA790366a"
}
],
"chain": "ethereum",
"description": "* Can interact with ChainAdminOwnable\n * set the conversion factor for gas token deposits ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0x59Be28DE6eFb1f78802E96188d2b7907059Be59f",
"type": "EOA",
"isVerified": true,
"name": "0x59Be…e59f",
"url": "https://etherscan.io/address/0x59Be28DE6eFb1f78802E96188d2b7907059Be59f"
}
],
"chain": "ethereum",
"description": "* Can interact with L1NativeTokenVault\n * pause / unpause the bridge ",
"discoveryDrivenData": true
}
]
}
}
+547 -1
null
{
"addresses": {
"ethereum": [
{
"name": "Diamond",
"isVerified": true,
"address": "eth:0x0583Ef2B6416cb7B287406438B940E4d99680C5B",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
},
{
"timestamp": 1764062519,
"transactionHash": "0xaa1dbb6591bbc6c81cd9378502e6ae8f73f2da3de4dcec9b185b21bbdd650578",
"implementations": [
"eth:0x8C653b99f18Eb3bAb927519990bfC281500b0De6",
"eth:0x1807f10E686E5Cd6A655cF7343f093a7372cAf34",
"eth:0x3Be4B380F277Cb02dF56712667f7F8FA1Ca1536d",
"eth:0x6fB87A1dd4DE3bDbB96f2FA9ac7FCb74b7d4C792"
]
}
],
"description": "The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions.\n* Roles:\n * **getAdmin**: ChainAdminOwnable; ultimately ADI Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x0583Ef2B6416cb7B287406438B940E4d99680C5B#code"
},
{
"name": "ChainTypeManager",
"isVerified": true,
"address": "eth:0x08A1D2962fC29AA46e869A1E7561112cc1026EfA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x191D1D51a9CBe988E69ad3D27eFab60663e5ed61"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764062063,
"transactionHash": "0xa5b440f6a0256100dac3d76a00374198366113b10688034f6b014b247a31cee4",
"implementations": [
"eth:0x191D1D51a9CBe988E69ad3D27eFab60663e5ed61"
]
}
],
"description": "[FORK] This contract is not the standard hub contract from the Elastic network but a local fork for ADI chain. Defines L2 diamond contract versions, creation and upgrade data and the proof system for all ZK stack chains connected to it. ZK chains are children of this central contract and can only upgrade to versions that were previously registered here. The current protocol version is 0,29,0.\n* Roles:\n * **admin**: ChainAdminOwnable, ProxyAdmin; ultimately ADI Multisig 2, Governance\n * **owner**: Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x08A1D2962fC29AA46e869A1E7561112cc1026EfA#code"
},
{
"name": "RollupL1DAValidator",
"isVerified": true,
"address": "eth:0x45D594304087A359dC60a502f5c35d62DfeCDDA7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract that verifies the data availability of ethereum calldata and blobs. Can be used by ZK stack rollups as the L1 part of a DAValidator pair.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x45D594304087A359dC60a502f5c35d62DfeCDDA7#code"
},
{
"name": "L1Nullifier",
"isVerified": true,
"address": "eth:0x5E5a72077dFB354Dfe61200b8f31fa491F9B9Cea",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x64E12498Afe66FAD714417E3fA7824E67189b31d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0xc8f25c8c05512ee3427467c81af5e2b8374ce4cd605988d6a7079bc98438c451",
"implementations": [
"eth:0x64E12498Afe66FAD714417E3fA7824E67189b31d"
]
}
],
"description": "Contract responsible for bookkeeping L1 bridging transactions. Used to finalize withdrawals and reclaim failed deposits. Does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: EOA 4",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x5E5a72077dFB354Dfe61200b8f31fa491F9B9Cea#code"
},
{
"name": "L1MessageRoot",
"isVerified": true,
"address": "eth:0x783e8Cb57366888F84d815fd53c3aeE99b2d6d37",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x5BaC331B75f3bF88148bfb0be2a76be4FBb05417"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x20dedea6ad2da50130929c575615065d3842ab03ead9c9038f2e649172a2b94f",
"implementations": [
"eth:0x5BaC331B75f3bF88148bfb0be2a76be4FBb05417"
]
}
],
"description": "Aggregates remote bridge message roots from all ZK stack chains. To be used with the Gateway when deployed.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x783e8Cb57366888F84d815fd53c3aeE99b2d6d37#code"
},
{
"name": "BridgeHub",
"isVerified": true,
"address": "eth:0x7a38c18a229Ef8a0AE7104Ba272A46280f2d59Cb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0xcf1c73439c85f7eB9d4439dAf398Fd6392d176E6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x24b5555ead6371a88f4727edf42d0a2d07901ce8b698fe2e999feebde6dd3fbe",
"implementations": [
"eth:0xcf1c73439c85f7eB9d4439dAf398Fd6392d176E6"
]
}
],
"description": "[FORK] This contract is not the standard hub contract from the Elastic network but a local fork for ADI chain. The main registry (hub) for chain contracts (supports more than ADI chain) and central entrypoint for bridge transactions. Stores important mappings like from chainId to diamond address, from chainId to parent CTM, from chainId to base token etc. A clone of Bridgehub is also deployed on each L2 chain, but this clone is only used on settlement layers.\n* Roles:\n * **admin**: ChainAdminOwnable, ProxyAdmin; ultimately ADI Multisig 2, Governance\n * **owner**: Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x7a38c18a229Ef8a0AE7104Ba272A46280f2d59Cb#code"
},
{
"name": "RollupDAManager",
"isVerified": true,
"address": "eth:0x96A4B3Dd2F3cd3717b7D0c9d1aF8e110CAaD787e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple registry for allowed DA address pairs for the 'rollup' data availability mode (can be permanently enforced with isPermanentRollup=true). Rollup DA address pairs (especially the L1 part) usually point to contracts that validate if data was made available on Ethereum.\n* Roles:\n * **owner**: Governance",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x96A4B3Dd2F3cd3717b7D0c9d1aF8e110CAaD787e#code"
},
{
"name": "CTMDeploymentTracker",
"isVerified": true,
"address": "eth:0xaCD4a320f8a45abE71756B85DF519201d041EA5f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0xB3AE8d7a583278C25faD1714F342AE284046fEa4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0xe48b3a261a691f2d2fbdfe9226d0c5a2bd4900493b790aa1cd97544d35856cfd",
"implementations": [
"eth:0xB3AE8d7a583278C25faD1714F342AE284046fEa4"
]
}
],
"description": "Asset deployment tracker where the 'asset' is a ChainTypeManager. The registering of asset IDs for ChainTypeManagers is necessary to be able to migrate them to a given settlement layer, for example the Gateway.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xaCD4a320f8a45abE71756B85DF519201d041EA5f#code"
},
{
"name": "ValidatorTimelock",
"isVerified": true,
"address": "eth:0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x406f329645E323B1bd1C020a219e30E6DAf4f899"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764061739,
"transactionHash": "0x3495b74edc718006ba1b887dadf4fcf2fa6aaafa16a9b38dfe35234fa4f5177b",
"implementations": [
"eth:0x406f329645E323B1bd1C020a219e30E6DAf4f899"
]
}
],
"description": "Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 0s.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **validatorVTL**: EOA 1, EOA 2, EOA 3, EOA 5",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xE28cAc160C2a79dFA1fbd2169AC5fa5d061cf186#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x0a8a2473cc5731575a94f58F470851Bc6695B5B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets ADI Multisig 1 act through it.\n* Roles:\n * **owner**: ADI Multisig 1\n * **tokenMultiplierSetter**: EOA 6",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x0a8a2473cc5731575a94f58F470851Bc6695B5B8#code"
},
{
"name": "ChainAdminOwnable",
"isVerified": true,
"address": "eth:0x2d6E82F1f8fba89a67cc8d742B12633db4732Ca7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A governance proxy that lets ADI Multisig 2 act through it.\n* Roles:\n * **owner**: ADI Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x2d6E82F1f8fba89a67cc8d742B12633db4732Ca7#code"
},
{
"name": "L1ERC20Bridge",
"isVerified": true,
"address": "eth:0xfA8B5EA9b8d36a72Eb0ba66Cc7aBc83d9deeC3B8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Legacy bridge for depositing ERC20 tokens to ADI Chain.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xfA8B5EA9b8d36a72Eb0ba66Cc7aBc83d9deeC3B8#code"
},
{
"name": "L1NativeTokenVault",
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Canonical central asset escrow for all ZK stack chains.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance\n * **owner**: EOA 7",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
{
"name": "DualVerifier",
"isVerified": true,
"address": "eth:0x28E31e2B74bc38c6cd58CF282807fCBa8C00C529",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A router contract for verifiers. Routes verification requests to the corresponding fflonk or plonk verifiers depending on the supplied proof type and version.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x28E31e2B74bc38c6cd58CF282807fCBa8C00C529#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ChainAdminOwnable",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C#code"
},
{
"name": "L1VerifierFflonk",
"isVerified": true,
"address": "eth:0x60aDfa0b7dEd57e0f1e251417769B6dbd1056208",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the fflonk proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x60aDfa0b7dEd57e0f1e251417769B6dbd1056208#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Governance",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217#code"
},
{
"name": "L1VerifierPlonk",
"isVerified": true,
"address": "eth:0x8F870CF6621AEaF6026dFfc77f484FdAb370c4Ba",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifies a zk-SNARK proof using an implementation of the PlonK proof system.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x8F870CF6621AEaF6026dFfc77f484FdAb370c4Ba#code"
},
{
"name": "L1ChainAssetHandler",
"isVerified": true,
"address": "eth:0x924E0145347243a94C5C69e372Ca52c77f8e6CF1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x0C06695f21B118a9A10101D303f00575A566D1A0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x1d89af101c273be6c173849a3f16c585fd26e85eb0e03e10ad2ac72012c9a66d",
"implementations": [
"eth:0x0C06695f21B118a9A10101D303f00575A566D1A0"
]
}
],
"description": "Specialized contract for managing chain assets, i.e. chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Governance",
"upgradableBy": [
{
"name": "Governance",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x924E0145347243a94C5C69e372Ca52c77f8e6CF1#code"
},
{
"name": "ServerNotifier",
"isVerified": true,
"address": "eth:0xd477bd7f14F9A26ebd51827EFB1d40a41f71b70C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x34f56Ba641aC59E897c6179ffeCAe9769fbfC90C"
],
"implementations": [
"eth:0xDc64B98F394A8bf980F777631352029C9114e2e6"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764061739,
"transactionHash": "0x72192c4f02430295786d5865c815e8e9499e896f37cb49635478d0096cc8b2cc",
"implementations": [
"eth:0xDc64B98F394A8bf980F777631352029C9114e2e6"
]
}
],
"description": "A simple contract that can be called by the ChainAdmin to emit notifications about chain migrations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately ADI Multisig 2",
"upgradableBy": [
{
"name": "ADI Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xd477bd7f14F9A26ebd51827EFB1d40a41f71b70C#code"
}
]
},
"escrows": [
{
"address": "0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"sinceTimestamp": 1764060407,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x0A0F8912162Ff83A036883dbaDA42efF647a3065",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8140aBB60c9AfB5241D90af948Cfa7644b2D3217"
],
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1764060407,
"transactionHash": "0x70c7ca0de2ffe71507b4900352721efaa0dcefe222c0e248e3c2149c6e981a06",
"implementations": [
"eth:0x2FC2a2dB562046C732d3aB0f4e1c1F62C3eE8e3E"
]
}
],
"description": "Main escrow contract of ADI chain.",
"url": "https://etherscan.io/address/0x0A0F8912162Ff83A036883dbaDA42efF647a3065#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+2 -1
{
"baseTimestamp": 1766054776,
"contractsDiscoDriven": true,
"hasDiscoUi": false,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
1
null
+1 -1
1
null
[ADDED]
airbender
+169 -0
+1 -0
"airbender"
+1 -0
"airbender"
+1 -0
"Airbender"
+1 -0
null
+1 -0
1757376000
+3 -0
{
"unverifiedContracts": []
}
+16 -0
{
"badges": [],
"description": "Airbender is the latest prover of Matter Labs, it proves RISC-V programs.",
"links": {
"documentation": [
"https://docs.zksync.io/zksync-protocol/zksync-airbender/overview",
"https://github.com/matter-labs/zksync-airbender/blob/main/docs/README.md"
],
"repositories": [
"https://github.com/matter-labs/zksync-airbender/tree/main"
],
"websites": [
"https://www.zksync.io/airbender"
]
}
}
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+108 -0
{
"creator": "Matter Labs",
"projectsForTvs": [
{
"projectId": "adi",
"sinceTimestamp": 1764107759
}
],
"proofSystemInfo": "\n ## Description\n\n Airbender is the most advanced zkVM developed by Matter Labs. It operates on RISC-V ISA and is designed to prove state transition function of [zk stack](https://zkstack.io) chains in combination with [ZKsync OS](https://github.com/matter-labs/zksync-os), but also more general RISC-V programs. Airbender proofs could be [wrapped into Fflonk SNARK](https://github.com/matter-labs/zkos-wrapper) for efficient onchain verification. Airbender initial release [targets 81 bits of security](https://x.com/eth_proofs/status/1942468407896543694).\n\n ## Proof system\n\n Airbender implements a rather standard zkVM: AIR constraints, [DEEP-FRI](https://eprint.iacr.org/2019/336) polynomial testing, RISC-V instructions with the program being stored in read-only memory and accessed by lookup arguments, recursive proving. \n\n Many parts of the stack are optimized for speed and efficiency, including a small Mersenne31 field over which the computation trace is generated and a simple degree 2 AIR constraints. Airbender prover could also be run in application mode without signed multiplication and division operations, thus reducing circuit complexity.\n\n ### Recursion circuits\n\n Airbender targets proving batches of size 2**22 (~4 M) clock cycles. The proofs of such batches are pairwise recursively aggregated using zkVM in recursion mode. For onchain verification, the final Airbender STARK is [compressed using Boojum compressor](https://github.com/matter-labs/zkos-wrapper) and then wrapped into a Fflonk SNARK with KZG. The KZG commitment is done over BN254 curve and it uses Aztec Ignition trusted setup ceremony, see [below](#trusted-setups) for more details.\n ",
"techStack": {
"zkVM": [
{
"id": "Airbender",
"type": "STARK",
"name": "Airbender",
"description": "zkVM STARK proving system operating on RISC-V ISA, developed by Matter Labs."
},
{
"id": "RISCV",
"type": "ISA",
"name": "RISC-V",
"description": "Free and open-source universal 32-bit ISA used across a variety of hardware and software."
},
{
"id": "Mersenne31",
"type": "Field",
"name": "Mersenne31",
"description": "Prime field of order p = 2**31 - 1."
}
],
"finalWrap": [
{
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
},
{
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": " \n Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \n It included 176 participants and was publicly open for participation.\n \n - Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n - Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n - Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition).\n "
}
],
"verifierHashes": [
{
"hash": "0xa385a997a63cc78e724451dca8b044b5ef29fcdc9d8b6ced33d9f58de531faa5",
"proofSystem": {
"id": "Bellman",
"type": "Plonk",
"name": "Bellman",
"description": "Bellman Rust library for Plonk proving system, originally developed for ZCash."
},
"knownDeployments": [
{
"address": "0x8F870CF6621AEaF6026dFfc77f484FdAb370c4Ba",
"chain": "ethereum"
}
],
"verificationStatus": "notVerified"
},
{
"hash": "0x6f36a08c517b060fa97308cdb3e23b04842ff839d451a753ec8fae1a5408304a",
"proofSystem": {
"id": "Zksync",
"type": "Fflonk",
"name": "Zksync",
"description": "Matter Labs Rust implementation of Fflonk improvement over standard Plonk proving system."
},
"knownDeployments": [
{
"address": "0x60aDfa0b7dEd57e0f1e251417769B6dbd1056208",
"chain": "ethereum"
}
],
"verificationStatus": "notVerified"
}
]
}
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+5 -0
+5 -0
{
"daLayer": "ethereum",
"name": "Enshrined Bridge",
"risks": {
"daBridge": {
"value": "Enshrined",
"sentiment": "good",
"description": "Rollup users have access to all the data, as it is posted onchain on the consensus layer. On the execution layer, the rollup relies on blob data commitment (versioned hashes), which are accessible through the BLOBHASH opcode. \nThe rollup smart contracts can use these blob commitments during state transition validation to reference blobs during proof verification, without requiring direct access to the raw blob data.\n "
},
"callout": "Unlike non-enshrined DA bridges, it does not place any honesty\n assumption on an external committee that provides data availability\n attestations to the DA bridge. From the rollup perspective,\n Ethereum's canonical chain cannot contain unavailable data\n commitments as full nodes self-verify the data availability of each\n block, discarding blocks with unavailable data. The rollup state\n validating bridge has access to all the data, as it is posted on chain."
},
"technology": {
"description": "\n ## Enshrined Bridge\n The DA bridge on Ethereum is enshrined, meaning that blob data is directly accessible on the consensus layer, with data availability guaranteed by the network's inherent consensus rules. \n If a block contains unavailable data, full nodes will reject it, causing the chain to fork away from that block. This ensures data availability without requiring additional trust assumptions. \n In contrast, external DA providers must rely on data availability attestations from the external validator set, introducing an extra layer of trust on the majority of validators.\n "
},
"usedIn": [
{
"id": "abstract",
"name": "Abstract",
"slug": "abstract"
},
{
"id": "adi",
"name": "ADI Chain",
"slug": "adi"
},
{
"id": "arbitrum",
"name": "Arbitrum One",
"slug": "arbitrum"
},
{
"id": "arenaz",
"name": "Arena-Z",
"slug": "arenaz"
},
{
"id": "base",
"name": "Base Chain",
"slug": "base"
},
{
"id": "blast",
"name": "Blast",
"slug": "blast"
},
{
"id": "bob",
"name": "BOB",
"slug": "bob"
},
{
"id": "bobanetwork",
"name": "Boba Network",
"slug": "bobanetwork"
},
{
"id": "cartesi-prt-honeypot-v2",
"name": "Cartesi PRT Honeypot v2",
"slug": "cartesi-prt-honeypot-v2"
},
{
"id": "dbk",
"name": "DeBank Chain",
"slug": "dbk"
},
{
"id": "deri",
"name": "Deri",
"slug": "deri"
},
{
"id": "ethernity",
"name": "Epic Chain",
"slug": "epicchain"
},
{
"id": "facet",
"name": "Facet v1",
"slug": "facet"
},
{
"id": "forknet",
"name": "Forknet",
"slug": "forknet"
},
{
"id": "hashkey",
"name": "HashKey Chain",
"slug": "hashkey"
},
{
"id": "hemi",
"name": "Hemi",
"slug": "hemi"
},
{
"id": "ink",
"name": "Ink",
"slug": "ink"
},
{
"id": "jovay",
"name": "Jovay",
"slug": "jovay"
},
{
"id": "katana",
"name": "Katana",
"slug": "katana"
},
{
"id": "lighter",
"name": "Lighter",
"slug": "lighter"
},
{
"id": "linea",
"name": "Linea",
"slug": "linea"
},
{
"id": "lisk",
"name": "Lisk",
"slug": "lisk"
},
{
"id": "loopring",
"name": "Loopring",
"slug": "loopring"
},
{
"id": "metal",
"name": "Metal",
"slug": "metal"
},
{
"id": "metis",
"name": "Metis Andromeda",
"slug": "metis"
},
{
"id": "mint",
"name": "Mint",
"slug": "mint"
},
{
"id": "mode",
"name": "Mode Network",
"slug": "mode"
},
{
"id": "morph",
"name": "Morph",
"slug": "morph"
},
{
"id": "optimism",
"name": "OP Mainnet",
"slug": "op-mainnet"
},
{
"id": "optopia",
"name": "Optopia",
"slug": "optopia"
},
{
"id": "paradex",
"name": "Paradex",
"slug": "paradex"
},
{
"id": "phala",
"name": "Phala",
"slug": "phala"
},
{
"id": "polynomial",
"name": "Polynomial",
"slug": "polynomial"
},
{
"id": "r0ar",
"name": "R0ar",
"slug": "r0ar"
},
{
"id": "race",
"name": "Race Network",
"slug": "race"
},
{
"id": "scroll",
"name": "Scroll",
"slug": "scroll"
},
{
"id": "settlus",
"name": "Settlus",
"slug": "settlus"
},
{
"id": "shape",
"name": "Shape",
"slug": "shape"
},
{
"id": "soneium",
"name": "Soneium",
"slug": "soneium"
},
{
"id": "starknet",
"name": "Starknet",
"slug": "starknet"
},
{
"id": "superseed",
"name": "Superseed",
"slug": "superseed"
},
{
"id": "swan",
"name": "Swan Chain",
"slug": "swan"
},
{
"id": "swell",
"name": "Swellchain",
"slug": "swell"
},
{
"id": "syndicateframe",
"name": "Syndicate Frame Chain",
"slug": "syndicateframe"
},
{
"id": "taiko",
"name": "Taiko Alethia",
"slug": "taiko"
},
{
"id": "unichain",
"name": "Unichain",
"slug": "unichain"
},
{
"id": "worldchain",
"name": "World Chain",
"slug": "world"
},
{
"id": "xlayer",
"name": "X Layer",
"slug": "xlayer"
},
{
"id": "zeronetwork",
"name": "ZERO Network",
"slug": "zeronetwork"
},
{
"id": "zircuit",
"name": "Zircuit",
"slug": "zircuit"
},
{
"id": "aztec",
"name": "Zk.Money v1 (Aztec v1)",
"slug": "aztecv1"
},
{
"id": "zksync2",
"name": "ZKsync Era",
"slug": "zksync-era"
},
{
"id": "zksync",
"name": "ZKsync Lite",
"slug": "zksync-lite"
},
{
"id": "zora",
"name": "Zora",
"slug": "zora"
}
]
}
+1 -1
+1 -1
{
"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:0x0b114d4675Cb79507e68F2616c93e124122c6ef0",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0x58D14960E0a2be353eDdE61ad719196A2b816522",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "EmergencyUpgradeBoard",
"name": "EmergencyUpgradeBoard",
"accounts": [
{
"address": "eth: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": "GrvtChainAdminMultisig",
"name": "GrvtChainAdminMultisig",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * GRVTTransactionFilterer \n * GRVTBridgeProxy \n* Can interact with GrvtZkEvmAdmin\n * set the conversion factor for gas token deposits \n* Can interact with Diamond\n * administrate operator roles for this chain in the ValidatorTimelock, manage fees, apply predefined upgrades, manage censorship through a TransactionFilterer, set DA mode, migrate the chain to whitelisted settlement layers (Chain Admin role) [via: GrvtZkEvmAdmin]",
"accounts": [
{
"address": "eth:0x3a23919d4aA39e096E9d6420fd6a2861A20B19e5",
"type": "Contract",
"isVerified": true,
"name": "0x3a23…19e5",
"url": "https://etherscan.io/address/0x3a23919d4aA39e096E9d6420fd6a2861A20B19e5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xF29bFff344c7ef0186432fE30C39fda0cca0550b",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#EOA-4"
},
{
"address": "eth:0x29496817aB0820A5aDa4d5C656Ea8DF79Ba05F3A",
"type": "EOA",
"isVerified": true,
"name": "0x2949…5F3A",
"url": "https://etherscan.io/address/0x29496817aB0820A5aDa4d5C656Ea8DF79Ba05F3A"
},
{
"address": "eth:0x9A4484BBDae765A84c802Cf0A4777D8b16AB1270",
"type": "EOA",
"isVerified": true,
"name": "0x9A44…1270",
"url": "https://etherscan.io/address/0x9A4484BBDae765A84c802Cf0A4777D8b16AB1270"
}
],
"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": "GRVTTransactionFilterer",
"name": "GRVTTransactionFilterer",
"accounts": [
{
"address": "eth:0x3Cd52B238Ac856600b22756133eEb31ECb25109a",
"type": "Contract",
"isVerified": true,
"name": "0x3Cd5…109a",
"url": "https://etherscan.io/address/0x3Cd52B238Ac856600b22756133eEb31ECb25109a"
}
],
"chain": "ethereum",
"description": "* Can interact with Diamond\n * define addresses that can send transactions from L1 to L2 (e.g. for deposits, withdrawals, queued transactions). This is enforced in the Mailbox Facet ",
"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 Diamond\n * commit, prove, execute, revert batches directly in the main Diamond contract. This role is typically held by a proxying ValidatorTimelock ",
"discoveryDrivenData": true
},
{
"id": "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": "Governance",
"name": "Governance",
"accounts": [
{
"address": "eth:0xbdC07D62fA117B195E579c2e299f037b158E7335",
"type": "Contract",
"isVerified": true,
"name": "0xbdC0…7335",
"url": "https://etherscan.io/address/0xbdC07D62fA117B195E579c2e299f037b158E7335"
}
],
"chain": "ethereum",
"description": "* Can interact with GRVTTransactionFilterer\n * address is part of the GRVTTransactionFilterer whitelist ",
"description": "Allows scheduling transparent and shadow proposals, 'securityCouncil' role can execute without delay.\n* Can interact with GRVTTransactionFilterer\n * address is part of the GRVTTransactionFilterer whitelist ",
"discoveryDrivenData": true
},
{
"id": "GRVTBridgeProxy",
"name": "GRVTBridgeProxy",
"accounts": [
{
"address": "eth:0xE17aeD2fC55f4A876315376ffA49FE6358113a65",
"type": "Contract",
"isVerified": true,
"name": "0xE17a…3a65",
"url": "https://etherscan.io/address/0xE17aeD2fC55f4A876315376ffA49FE6358113a65"
}
],
"chain": "ethereum",
"description": "Checks the signature of the DepositApprover for each deposit and, on succeeding, forwards the user's funds and bridging request to the L1SharedBridge contract to deposit to GRVT.\n* Can interact with GRVTTransactionFilterer\n * address is part of the GRVTTransactionFilterer whitelist ",
"discoveryDrivenData": true
},
{
"id": "Governance",
"name": "Governance",
"accounts": [
{
"address": "eth:0xe81d64195072e4d09639b31Abb257d0096FEa9d1",
"type": "Contract",
"isVerified": true,
"name": "0xe81d…a9d1",
"url": "https://etherscan.io/address/0xe81d64195072e4d09639b31Abb257d0096FEa9d1"
}
],
"chain": "ethereum",
"description": "* Can interact with GRVTTransactionFilterer\n * address is part of the GRVTTransactionFilterer whitelist ",
"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
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0x0b114d4675Cb79507e68F2616c93e124122c6ef0",
"type": "EOA",
"isVerified": true,
"name": "0x0b11…6ef0",
"url": "https://etherscan.io/address/0x0b114d4675Cb79507e68F2616c93e124122c6ef0"
},
{
"address": "eth:0x58D14960E0a2be353eDdE61ad719196A2b816522",
"type": "EOA",
"isVerified": true,
"name": "0x58D1…6522",
"url": "https://etherscan.io/address/0x58D14960E0a2be353eDdE61ad719196A2b816522"
}
],
"chain": "ethereum",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x5c8de5821dd9263F124E8ddbff11C3368Ff86a37",
"type": "EOA",
"isVerified": true,
"name": "0x5c8d…6a37",
"url": "https://etherscan.io/address/0x5c8de5821dd9263F124E8ddbff11C3368Ff86a37"
}
],
"chain": "ethereum",
"description": "* Can interact with GRVTBridgeProxy\n * approve deposits to GRVT via the GRVTBridgeProxy ",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0xF29bFff344c7ef0186432fE30C39fda0cca0550b",
"type": "EOA",
"isVerified": true,
"name": "0xF29b…550b",
"url": "https://etherscan.io/address/0xF29bFff344c7ef0186432fE30C39fda0cca0550b"
}
],
"chain": "ethereum",
"description": "Member of GrvtChainAdminMultisig.\n* Can interact with GRVTTransactionFilterer\n * address is part of the GRVTTransactionFilterer whitelist \n * manage the whitelist of addresses ",
"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
}
]
}
}