statuses
+5 -1
Viewed
{
"unverifiedContracts": []
"unverifiedContracts": [
"katana:0x420000000000000000000000000000000000000F",
"katana:0x4200000000000000000000000000000000000015",
"katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
]
}
scalingRisks
+10 -8
Viewed
{
"self": {
"stateValidation": {
"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,
"permissioned": true,
"executionDelay": 0,
"secondLine": "No execution delay"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
},
"exitWindow": {
"value": "None",
"description": "There is no window for users to exit in case of an unwanted upgrade since the Security Council can remove the delay on upgrades.",
"sentiment": "bad",
"orderHint": -1,
"regular": {
"value": "3d",
"sentiment": "warning"
},
"warning": {
"value": "Even though there is a 3d Timelock for non-emergency upgrades, forced transactions are disabled.",
"value": "Even though there is a 3d Timelock for non-emergency upgrades, self-proposing is disabled.",
"sentiment": "warning"
}
},
"sequencerFailure": {
"value": "No mechanism",
"description": "There is no mechanism to have transactions be included if the sequencer is down or censoring.",
"sentiment": "bad"
"value": "Self sequence",
"description": "In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 12h delay on this operation.",
"sentiment": "good",
"orderHint": 43200,
"secondLine": "12h delay",
"warning": {
"value": "The self-sequencing delay is configured offchain and the node source and config are unverified.",
"sentiment": "warning"
}
},
"proposerFailure": {
"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
}
}
}
scalingTechnology
+6 -15
Viewed
{
"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": [
{
"url": "https://etherscan.io/address/0x000d4411cdeb152378626B5C5E33fd5D6808939a",
"title": "batchInbox - Etherscan address"
}
]
}
],
"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": []
}
],
"forceTransactions": {
"name": "Users can't force any transaction",
"description": "The mechanism for allowing users to submit their own transactions is currently disabled.",
"risks": [
{
"category": "Users can be censored if",
"text": "the operator refuses to include their transactions."
}
],
"name": "Users can force any transaction",
"description": "Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly. The self-sequencing delay is configured offchain and the node source and config are unverified.",
"risks": [],
"references": [
{
"url": "https://etherscan.io/address/0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4#code#F1#L563",
"title": "_depositTransaction() in OptimismPortal2 - Etherscan source code"
"url": "https://etherscan.io/address/0x5decbeeefecc5353355cd79a8fecc4c03f61ce8a#code#F1#L553",
"title": "depositTransaction() in OptimismPortal2 - Etherscan source code"
}
]
},
"operator": {
"name": "The system has a centralized operator",
"description": "Only a trusted sequencer is allowed to submit transaction batches. A mechanism for users to submit their own batches is currently disabled. Only a trusted proposer can propose and prove new state roots.",
"risks": [
{
"category": "Funds can be frozen if",
"text": "the permissioned proposer fails to publish state roots to the L1."
},
{
"category": "Funds can be frozen if",
"text": "the permissioned sequencer fails to publish transaction data to the L1."
}
],
"references": [
{
"url": "https://etherscan.io/address/0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174#readProxyContract#F13",
"title": "batcherHash - Etherscan address"
}
]
},
"otherConsiderations": [
{
"name": "Shared bridge and Pessimistic Proofs",
"description": "Polygon Agglayer uses a shared bridge escrow for Rollups, Validiums and external chains that opt in to participate in interoperability. Each participating chain needs to provide zk proofs to access any assets in the shared bridge. In addition to the full execution proofs that are used for the state validation of Rollups and Validiums, accounting proofs over the bridges state (Polygon calls them 'Pessimistic Proofs') are used by external chains ('cdk-sovereign' and aggchains). Using the SP1 zkVM by Succinct, projects without a full proof system on Ethereum or custom proof systems are able to share the bridge with the zkEVM Agglayer projects.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the accounting proof system for the bridge (pessimistic proofs, SP1) is implemented incorrectly."
}
],
"references": [
{
"title": "Pessimistic Proof - Polygon Knowledge Layer",
"url": "https://docs.agglayer.dev/agglayer/core-concepts/pessimistic-proof/"
},
{
"title": "Etherscan: AgglayerManager.sol - verifyPessimisticTrustedAggregator() function",
"url": "https://etherscan.io/address/0x15cAF18dEd768e3620E0f656221Bf6B400ad2618#code#F1#L1300"
}
]
}
],
"stateValidation": {
"categories": [
{
"title": "Prover Architecture",
"description": "Katana uses the Agglayer CDK in CDK-opgeth-zkrollup configuration. This combines an OP-Succinct zk rollup base with Agglayer shared bridge interoperability. Both parts are verified in a single nested proof using the Succinct Sp1Verifier. This proof is called the pessimistic proof by Agglayer which contains 1) the bridge accounting proof proving only the secure accounting of the Agglayer shared bridge and can have 2) a reference to an 'aggchain proof', which can define additional programs to be proven. In the case of Katana, these are the op-succinct block range proofs as an aggregated proof proving the state transitions of the L2.",
"description": "Katana uses the Agglayer CDK in CDK-opgeth-zkrollup configuration. This combines an OP-Succinct zk rollup base with Agglayer shared bridge interoperability. Both parts are verified in a single nested proof using the Succinct Sp1Verifier. This proof is called the pessimistic proof by Agglayer which contains 1) the bridge accounting proof proving only the secure accounting of the Agglayer shared bridge and can have 2) a reference to an 'aggchain proof', which can define additional programs to be proven. In the case of Katana, these are the op-succinct block range proofs as an aggregated proof proving the state transitions of the L2, resulting in a full validity proof of L2 execution and agglayer bridge accounting.",
"references": [
{
"url": "https://docs.agglayer.dev/cdk/cdk-opgeth/architecture/#cdk-opgeth-zkrollup-not-live-yet",
"title": "CDK-opgeth-zkrollup architecture"
}
]
},
{
"title": "Validity proofs",
"description": "Each update to the rollup 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.",
"references": [
{
"url": "https://succinctlabs.github.io/op-succinct/architecture.html",
"title": "Op-Succinct architecture"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the state transition validity proof cryptography is broken or implemented incorrectly."
},
{
"category": "Funds can be stolen if",
"text": "A malicious state transition is finalized by activating the permissioned optimistic mode."
},
{
"category": "Funds can be stolen if",
"text": "the proposer routes proof verification through a malicious or faulty verifier by specifying an unsafe route id."
},
{
"category": "Funds can be frozen if",
"text": "the AggLayerGateway is unable to route proof verification to a valid verifier."
}
]
},
{
"title": "Pessimistic Proofs",
"description": "The pessimistic proofs that are used to prove correct accounting in the Agglayer shared bridge (minimum security guarantee) are using the [SP1 zkVM by Succinct](https://github.com/succinctlabs/sp1).",
"risks": [
{
"category": "Funds can be stolen if",
"text": "the pessimistic proof cryptography is broken or implemented incorrectly."
}
]
}
]
},
"upgradesAndGovernance": {
"content": "\nThe regular upgrade process for all system contracts (shared and L2-specific) starts at the PolygonAdminMultisig. For the shared contracts, they schedule a transaction that targets the ProxyAdmin via the Timelock, wait for 3d and then execute the upgrade. An upgrade of the Layer 2 specific rollup- or validium contract requires first adding a new rollupType through the Timelock and the AgglayerManager (defining the new implementation and verifier contracts). Now that the rollupType is created, either the local admin or the PolygonAdminMultisig can immediately upgrade the local system contracts to it.\n\nThe PolygonSecurityCouncil can expedite the upgrade process by declaring an emergency state. This state pauses both the shared bridge and the AgglayerManager and allows for instant upgrades through the timelock. Accordingly, instant upgrades for all system contracts are possible with the cooperation of the SecurityCouncil. The emergency state has been activated 1 time(s) since inception.\n\nFurthermore, the PolygonAdminMultisig is permissioned to manage the shared trusted aggregator (proposer and prover) for all participating Layer 2s, deactivate the emergency state, obsolete rollupTypes and manage operational parameters and fees in the AgglayerManager directly. The local admin of a specific Layer 2 can manage their chain by choosing the trusted sequencer, manage forced batches and set the data availability config. Creating new Layer 2s (of existing rollupType) is outsourced to the PolygonCreateRollupMultisig but can also be done by the PolygonAdminMultisig. Finally, it can manage SP1 verification keys for pessimistic proofs and aggchain proofs, which defines the affected chains' state validation. Custom non-shared bridge escrows have their custom upgrade admins listed in the permissions section.",
"image": "agglayer"
}
}
permissions
+230 -30
Viewed
{
"ethereum": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Allowed to commit transactions from the current layer to the host chain.",
"accounts": [
{
"address": "eth:0x1FFDA89C755f6D4Af069897D77CcAbb580Fd412a",
"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 3",
"url": "#EOA-3-and-EOA-4"
"name": "EOA 4",
"url": "#EOA-4-and-EOA-5"
},
{
"address": "eth:0xD7e6c31750838Ef895fBe0c57f7Fd881a14482Fb",
"type": "EOA",
"isVerified": true,
"name": "EOA 4",
"url": "#EOA-3-and-EOA-4"
"name": "EOA 5",
"url": "#EOA-4-and-EOA-5"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "PolygonAdminMultisig",
"name": "PolygonAdminMultisig",
"description": "A Multisig with 5/9 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:0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72",
"type": "EOA",
"isVerified": true,
"name": "0xEB5E…EA72",
"url": "https://etherscan.io/address/0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72"
},
{
"address": "eth:0xAb3506507449bF1880f3337825efd19ac89E235E",
"type": "EOA",
"isVerified": true,
"name": "0xAb35…235E",
"url": "https://etherscan.io/address/0xAb3506507449bF1880f3337825efd19ac89E235E"
},
{
"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:0xA0B02B28920812324f1cC3255bd8840867d3f227",
"type": "EOA",
"isVerified": true,
"name": "0xA0B0…f227",
"url": "https://etherscan.io/address/0xA0B02B28920812324f1cC3255bd8840867d3f227"
},
{
"address": "eth:0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B",
"type": "EOA",
"isVerified": true,
"name": "0x8B9F…782B",
"url": "https://etherscan.io/address/0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B"
}
],
"discoveryDrivenData": true
},
{
"id": "Polygon Multisig 2",
"name": "Polygon Multisig 2",
"description": "A Multisig with 3/5 threshold. \nMember of Katana vaultBridge Multisig 1, Katana vaultBridge Multisig 2, Katana vaultBridge Multisig 3.\n* Can upgrade **with no delay**\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismPortal2_neutered [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n* Can interact with AggchainFEP\n * change verification keys (aggregationVkey, rangeVkeyCommitment, aggchainVkey) and the rollupConfigHash, manage multisig signers for permissioned state transitions and change critical configs for state validation \n * toggle the 'optimisticMode' \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"description": "A Multisig with 3/5 threshold. \nMember of Katana vaultBridge Multisig 1, Katana vaultBridge Multisig 2, Katana vaultBridge Multisig 3.\n* Can upgrade **with no delay**\n * L1ERC721Bridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * OptimismPortal2 [via: ProxyAdmin]\n * SuperchainConfig [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * AnchorStateRegistry [via: ProxyAdmin]\n * DelayedWETH [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * DisputeGameFactory [via: ProxyAdmin]\n* Can interact with AggchainFEP\n * change verification keys (aggregationVkey, rangeVkeyCommitment, aggchainVkey) and the rollupConfigHash, manage multisig signers for permissioned state transitions and change critical configs for state validation \n * toggle the 'optimisticMode' \n* Can interact with SystemConfig\n * it can update the preconfer address, the batch submitter (Sequencer) address and the gas configuration of the system \n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC",
"type": "Contract",
"isVerified": true,
"name": "0xd067…98CC",
"url": "https://etherscan.io/address/0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x6f8CC67A7F6c61E4047aC4870583899CC1fBD08a",
"type": "EOA",
"isVerified": true,
"name": "0x6f8C…D08a",
"url": "https://etherscan.io/address/0x6f8CC67A7F6c61E4047aC4870583899CC1fBD08a"
},
{
"address": "eth:0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b",
"type": "EOA",
"isVerified": true,
"name": "0x4A65…154b",
"url": "https://etherscan.io/address/0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b"
},
{
"address": "eth:0xA697656ac37ee1f59A8a5318F61601B4C208960D",
"type": "EOA",
"isVerified": true,
"name": "0xA697…960D",
"url": "https://etherscan.io/address/0xA697656ac37ee1f59A8a5318F61601B4C208960D"
},
{
"address": "eth:0x73D8846324B30477EA3Ac055589e40F39DE497F8",
"type": "EOA",
"isVerified": true,
"name": "0x73D8…97F8",
"url": "https://etherscan.io/address/0x73D8846324B30477EA3Ac055589e40F39DE497F8"
},
{
"address": "eth:0xa43901c63f7702C407378E55E0d0EB4064a2AE31",
"type": "EOA",
"isVerified": true,
"name": "0xa439…AE31",
"url": "https://etherscan.io/address/0xa43901c63f7702C407378E55E0d0EB4064a2AE31"
}
],
"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/5 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:0x516eEcfb38aA308c5f1878497108c7d054fd46B7",
"type": "EOA",
"isVerified": true,
"name": "0x516e…46B7",
"url": "https://etherscan.io/address/0x516eEcfb38aA308c5f1878497108c7d054fd46B7"
},
{
"address": "eth:0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5",
"type": "EOA",
"isVerified": true,
"name": "0x3038…D3b5",
"url": "https://etherscan.io/address/0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5"
},
{
"address": "eth:0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC",
"type": "EOA",
"isVerified": true,
"name": "0xD947…fCFC",
"url": "https://etherscan.io/address/0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC"
},
{
"address": "eth:0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72",
"type": "EOA",
"isVerified": true,
"name": "0xEB5E…EA72",
"url": "https://etherscan.io/address/0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72"
},
{
"address": "eth:0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B",
"type": "EOA",
"isVerified": true,
"name": "0x8B9F…782B",
"url": "https://etherscan.io/address/0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B"
}
],
"discoveryDrivenData": true
},
{
"id": "Katana vaultBridge Multisig 1",
"name": "Katana vaultBridge Multisig 1",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * vbWBTC [via: ProxyAdmin]\n * vbETH [via: ProxyAdmin]\n * vbUSDT [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x2De242e27386e224E5fbF110EA8406d5B70740ec",
"type": "Contract",
"isVerified": true,
"name": "0x2De2…40ec",
"url": "https://etherscan.io/address/0x2De242e27386e224E5fbF110EA8406d5B70740ec"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x4082A1D91A353b16e112FbE36b55d222bF417919",
"type": "EOA",
"isVerified": true,
"name": "0x4082…7919",
"url": "https://etherscan.io/address/0x4082A1D91A353b16e112FbE36b55d222bF417919"
},
{
"address": "eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052",
"type": "Contract",
"isVerified": true,
"name": "Polygon Labs Engineering/Security Multisig",
"url": "#Polygon Labs Engineering/Security Multisig"
},
{
"address": "eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC",
"type": "Contract",
"isVerified": true,
"name": "Polygon Multisig 2",
"url": "#Polygon Multisig 2"
}
],
"discoveryDrivenData": true
},
{
"id": "Polygon Labs Engineering/Security Multisig",
"name": "Polygon Labs Engineering/Security Multisig",
"description": "A Multisig with 2/5 threshold. \nMember of Katana vaultBridge Multisig 1, Katana vaultBridge Multisig 2, Katana vaultBridge Multisig 3.\n* Can upgrade **with no delay**\n * MigrationManager [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052",
"type": "Contract",
"isVerified": true,
"name": "0x9d85…9052",
"url": "https://etherscan.io/address/0x9d851f8b8751c5FbC09b9E74E6e68E9950949052"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xeD44D1CFfB91e163CB7126bdEeA83959f175dB37",
"type": "EOA",
"isVerified": true,
"name": "0xeD44…dB37",
"url": "https://etherscan.io/address/0xeD44D1CFfB91e163CB7126bdEeA83959f175dB37"
},
{
"address": "eth:0xffbfc0c8331C5fc912DDA3C6D4A86eEB80203238",
"type": "EOA",
"isVerified": true,
"name": "0xffbf…3238",
"url": "https://etherscan.io/address/0xffbfc0c8331C5fc912DDA3C6D4A86eEB80203238"
},
{
"address": "eth:0xdFEd8373695a7b3DaF268CF91e71f6a7024A56Da",
"type": "EOA",
"isVerified": true,
"name": "0xdFEd…56Da",
"url": "https://etherscan.io/address/0xdFEd8373695a7b3DaF268CF91e71f6a7024A56Da"
},
{
"address": "eth:0xED7cC82235A7757702475c8f77c7830c095FB5a2",
"type": "EOA",
"isVerified": true,
"name": "0xED7c…B5a2",
"url": "https://etherscan.io/address/0xED7cC82235A7757702475c8f77c7830c095FB5a2"
},
{
"address": "eth:0x21618593F7147235aC8D511d68A547C935F9d417",
"type": "EOA",
"isVerified": true,
"name": "0x2161…d417",
"url": "https://etherscan.io/address/0x21618593F7147235aC8D511d68A547C935F9d417"
}
],
"discoveryDrivenData": true
},
{
"id": "Katana vaultBridge Multisig 2",
"name": "Katana vaultBridge Multisig 2",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * vbUSDS [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xA8C31B2edd84c654d06d626383f4154D1E40C5Ff",
"type": "Contract",
"isVerified": true,
"name": "0xA8C3…C5Ff",
"url": "https://etherscan.io/address/0xA8C31B2edd84c654d06d626383f4154D1E40C5Ff"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7",
"type": "Contract",
"isVerified": true,
"name": "Yearn Strategist Multisig",
"url": "#Yearn Strategist Multisig"
},
{
"address": "eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052",
"type": "Contract",
"isVerified": true,
"name": "Polygon Labs Engineering/Security Multisig",
"url": "#Polygon Labs Engineering/Security Multisig"
},
{
"address": "eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC",
"type": "Contract",
"isVerified": true,
"name": "Polygon Multisig 2",
"url": "#Polygon Multisig 2"
}
],
"discoveryDrivenData": true
},
{
"id": "Katana vaultBridge Multisig 3",
"name": "Katana vaultBridge Multisig 3",
"description": "A Multisig with 2/3 threshold. \n* Can upgrade **with no delay**\n * vbUSDC [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0xf4F2f5F6bAdBE05433C4604320ecC56BbECBC04E",
"type": "Contract",
"isVerified": true,
"name": "0xf4F2…C04E",
"url": "https://etherscan.io/address/0xf4F2f5F6bAdBE05433C4604320ecC56BbECBC04E"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052",
"type": "Contract",
"isVerified": true,
"name": "Polygon Labs Engineering/Security Multisig",
"url": "#Polygon Labs Engineering/Security Multisig"
},
{
"address": "eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC",
"type": "Contract",
"isVerified": true,
"name": "Polygon Multisig 2",
"url": "#Polygon Multisig 2"
},
{
"address": "eth:0x827e86072B06674a077f592A531dcE4590aDeCdB",
"type": "Contract",
"isVerified": true,
"name": "Katana Steakhouse Financial / Morpho Multisig",
"url": "#Katana Steakhouse Financial / Morpho Multisig"
}
],
"discoveryDrivenData": true
},
{
"id": "Yearn Strategist Multisig",
"name": "Yearn Strategist Multisig",
"description": "A Multisig with 3/8 threshold. \nMember of Katana vaultBridge Multisig 2.\n",
"accounts": [
{
"address": "eth:0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7",
"type": "Contract",
"isVerified": true,
"name": "0x1638…0ff7",
"url": "https://etherscan.io/address/0x16388463d60FFE0661Cf7F1f31a7D658aC790ff7"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x80a3887BA60F76acAb48EE4aEAd0a71A0774A8B2",
"address": "eth:0x5E5D6f849Fa86c058f148E9D3f643C8F4c43f20b",
"type": "EOA",
"isVerified": true,
"name": "0x80a3…A8B2",
"url": "https://etherscan.io/address/0x80a3887BA60F76acAb48EE4aEAd0a71A0774A8B2"
"name": "0x5E5D…f20b",
"url": "https://etherscan.io/address/0x5E5D6f849Fa86c058f148E9D3f643C8F4c43f20b"
},
{
"address": "eth:0xB13C8f58a233607569D2F8411B912148aeC4aEe2",
"address": "eth:0x5250077c42627cBd112988f32D482acC9ff40bDB",
"type": "EOA",
"isVerified": true,
"name": "0xB13C…aEe2",
"url": "https://etherscan.io/address/0xB13C8f58a233607569D2F8411B912148aeC4aEe2"
"name": "0x5250…0bDB",
"url": "https://etherscan.io/address/0x5250077c42627cBd112988f32D482acC9ff40bDB"
},
{
"address": "eth:0xBD5f1429Ab467E69BEeba51E547C00A21F2a2092",
"address": "eth:0xC357eE8a8DdE88Dd5a3Ea54847Adef6846A28c51",
"type": "EOA",
"isVerified": true,
"name": "0xBD5f…2092",
"url": "https://etherscan.io/address/0xBD5f1429Ab467E69BEeba51E547C00A21F2a2092"
"name": "0xC357…8c51",
"url": "https://etherscan.io/address/0xC357eE8a8DdE88Dd5a3Ea54847Adef6846A28c51"
},
{
"address": "eth:0x787aba336583f4A1D4f8cBBFDFFD49f3a38De665",
"address": "eth:0xFcc3796370e1538F8cC60bec19A8be5457f2C74F",
"type": "EOA",
"isVerified": true,
"name": "0x787a…e665",
"url": "https://etherscan.io/address/0x787aba336583f4A1D4f8cBBFDFFD49f3a38De665"
"name": "0xFcc3…C74F",
"url": "https://etherscan.io/address/0xFcc3796370e1538F8cC60bec19A8be5457f2C74F"
},
{
"address": "eth:0x2C2dc95F8C8060a7e3B354c1B9540881AEa1613C",
"address": "eth:0xFafFb75e14faFf9f11315E44a2E54A22872c7a34",
"type": "EOA",
"isVerified": true,
"name": "0x2C2d…613C",
"url": "https://etherscan.io/address/0x2C2dc95F8C8060a7e3B354c1B9540881AEa1613C"
"name": "0xFafF…7a34",
"url": "https://etherscan.io/address/0xFafFb75e14faFf9f11315E44a2E54A22872c7a34"
},
{
"address": "eth:0xd0002c648CCa8DeE2f2b8D70D542Ccde8ad6EC03",
"address": "eth:0x80a3887BA60F76acAb48EE4aEAd0a71A0774A8B2",
"type": "EOA",
"isVerified": true,
"name": "0xd000…EC03",
"url": "https://etherscan.io/address/0xd0002c648CCa8DeE2f2b8D70D542Ccde8ad6EC03"
"name": "0x80a3…A8B2",
"url": "https://etherscan.io/address/0x80a3887BA60F76acAb48EE4aEAd0a71A0774A8B2"
},
{
"address": "eth:0x1b5f15DCb82d25f91c65b53CEe151E8b9fBdD271",
"address": "eth:0xB13C8f58a233607569D2F8411B912148aeC4aEe2",
"type": "EOA",
"isVerified": true,
"name": "0x1b5f…D271",
"url": "https://etherscan.io/address/0x1b5f15DCb82d25f91c65b53CEe151E8b9fBdD271"
"name": "0xB13C…aEe2",
"url": "https://etherscan.io/address/0xB13C8f58a233607569D2F8411B912148aeC4aEe2"
},
{
"address": "eth:0x0Dca0FDC170baA4CA9c1dCd37Ffe01f97bCfD504",
"type": "EOA",
"isVerified": true,
"name": "0x0Dca…D504",
"url": "https://etherscan.io/address/0x0Dca0FDC170baA4CA9c1dCd37Ffe01f97bCfD504"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 1/4 threshold. ",
"accounts": [
{
"address": "eth:0x261a25ec6c396389B75B6b22BD4A8227070E3B50",
"type": "Contract",
"isVerified": true,
"name": "0x261a…3B50",
"url": "https://etherscan.io/address/0x261a25ec6c396389B75B6b22BD4A8227070E3B50"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x3e86A8bcAF0A96DD16Ec8160532DA13b2C0f6e21",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
},
{
"address": "eth:0x227D9Ea843910Edd305c42e7bB9Ce6D9f369238c",
"type": "EOA",
"isVerified": true,
"name": "0x227D…238c",
"url": "https://etherscan.io/address/0x227D9Ea843910Edd305c42e7bB9Ce6D9f369238c"
},
{
"address": "eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756",
"type": "Contract",
"isVerified": true,
"name": "Katana yieldRecipient Mulsitig",
"url": "#Katana yieldRecipient Mulsitig"
},
{
"address": "eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "#Safe"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 2/4 threshold. \nMember of Safe.\n",
"accounts": [
{
"address": "eth:0x3e86A8bcAF0A96DD16Ec8160532DA13b2C0f6e21",
"type": "Contract",
"isVerified": true,
"name": "0x3e86…6e21",
"url": "https://etherscan.io/address/0x3e86A8bcAF0A96DD16Ec8160532DA13b2C0f6e21"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x23CDc4Bc7713A1a8cb2adBbb5BdfCd135F74Bd50",
"type": "EOA",
"isVerified": true,
"name": "0x23CD…Bd50",
"url": "https://etherscan.io/address/0x23CDc4Bc7713A1a8cb2adBbb5BdfCd135F74Bd50"
},
{
"address": "eth:0xeA54bCaD99a8Cdd385c903236149Da9585B89ed3",
"type": "EOA",
"isVerified": true,
"name": "0xeA54…9ed3",
"url": "https://etherscan.io/address/0xeA54bCaD99a8Cdd385c903236149Da9585B89ed3"
},
{
"address": "eth:0x64512f695BFf25FD1bCD0F88EbC45Af144f374CA",
"type": "EOA",
"isVerified": true,
"name": "0x6451…74CA",
"url": "https://etherscan.io/address/0x64512f695BFf25FD1bCD0F88EbC45Af144f374CA"
},
{
"address": "eth:0xe969B418F3F5EF9E2E96d05C05Cc1e14f111aE8b",
"type": "EOA",
"isVerified": true,
"name": "0xe969…aE8b",
"url": "https://etherscan.io/address/0xe969B418F3F5EF9E2E96d05C05Cc1e14f111aE8b"
}
],
"discoveryDrivenData": true
},
{
"id": "Conduit Multisig 1",
"name": "Conduit Multisig 1",
"description": "A Multisig with 4/12 threshold. ",
"accounts": [
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "0x4a49…A746",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09",
"type": "EOA",
"isVerified": true,
"name": "0xA9FC…8d09",
"url": "https://etherscan.io/address/0xA9FCCc53F1c9095DA867Bd648683F8bdCcc78d09"
},
{
"address": "eth:0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6",
"type": "EOA",
"isVerified": true,
"name": "0x6BB4…83A6",
"url": "https://etherscan.io/address/0x6BB4249858Ee19b6ABC071AD26bEe690baa783A6"
},
{
"address": "eth:0x2103c69696CB2D3779f5445393808239034E911c",
"type": "EOA",
"isVerified": true,
"name": "0x2103…911c",
"url": "https://etherscan.io/address/0x2103c69696CB2D3779f5445393808239034E911c"
},
{
"address": "eth:0x65D1d44B8B2fE15d45A03708E0835C7E98a56007",
"type": "EOA",
"isVerified": true,
"name": "0x65D1…6007",
"url": "https://etherscan.io/address/0x65D1d44B8B2fE15d45A03708E0835C7E98a56007"
},
{
"address": "eth:0x81175155D85377C337d92f1FA52Da166C3A4E7Ac",
"type": "EOA",
"isVerified": true,
"name": "0x8117…E7Ac",
"url": "https://etherscan.io/address/0x81175155D85377C337d92f1FA52Da166C3A4E7Ac"
},
{
"address": "eth:0xA0737fea60F0601A192E3d2c98865A883ab0bda2",
"type": "EOA",
"isVerified": true,
"name": "0xA073…bda2",
"url": "https://etherscan.io/address/0xA0737fea60F0601A192E3d2c98865A883ab0bda2"
},
{
"address": "eth:0xF3313C48BD8E17b823d5498D62F37019dFEA647D",
"type": "EOA",
"isVerified": true,
"name": "0xF331…647D",
"url": "https://etherscan.io/address/0xF3313C48BD8E17b823d5498D62F37019dFEA647D"
},
{
"address": "eth:0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4",
"type": "EOA",
"isVerified": true,
"name": "0xa400…e6e4",
"url": "https://etherscan.io/address/0xa4000bDD2bB92ce6750b31F1eeda47Bd1cB8e6e4"
},
{
"address": "eth:0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f",
"type": "EOA",
"isVerified": true,
"name": "0x3840…Fd5f",
"url": "https://etherscan.io/address/0x3840f487A17A41100DD1Bf0946c34f132a57Fd5f"
},
{
"address": "eth:0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038",
"type": "EOA",
"isVerified": true,
"name": "0xa0C6…9038",
"url": "https://etherscan.io/address/0xa0C600a6e85bf225958FFAcC70B5FDDF9A059038"
},
{
"address": "eth:0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C",
"type": "EOA",
"isVerified": true,
"name": "0xefCf…dD5C",
"url": "https://etherscan.io/address/0xefCf0c8faFB425997870f845e26fC6cA6EE6dD5C"
},
{
"address": "eth:0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe",
"type": "EOA",
"isVerified": true,
"name": "0x4D80…5BAe",
"url": "https://etherscan.io/address/0x4D8007a0E9f293e62E2b0F43C6Cf4C4B9e135BAe"
}
],
"discoveryDrivenData": true
},
{
"id": "Katana Foundation Engineering/Security Multisig",
"name": "Katana Foundation Engineering/Security Multisig",
"description": "A Multisig with 2/5 threshold. ",
"accounts": [
{
"address": "eth:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a",
"type": "Contract",
"isVerified": true,
"name": "0x4e98…C38a",
"url": "https://etherscan.io/address/0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x516eEcfb38aA308c5f1878497108c7d054fd46B7",
"type": "EOA",
"isVerified": true,
"name": "0x516e…46B7",
"url": "https://etherscan.io/address/0x516eEcfb38aA308c5f1878497108c7d054fd46B7"
},
{
"address": "eth:0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72",
"type": "EOA",
"isVerified": true,
"name": "0xEB5E…EA72",
"url": "https://etherscan.io/address/0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72"
},
{
"address": "eth:0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B",
"type": "EOA",
"isVerified": true,
"name": "0x8B9F…782B",
"url": "https://etherscan.io/address/0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B"
},
{
"address": "eth:0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC",
"type": "EOA",
"isVerified": true,
"name": "0xD947…fCFC",
"url": "https://etherscan.io/address/0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC"
},
{
"address": "eth:0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5",
"type": "EOA",
"isVerified": true,
"name": "0x3038…D3b5",
"url": "https://etherscan.io/address/0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5"
}
],
"discoveryDrivenData": true
},
{
"id": "Katana yieldRecipient Mulsitig",
"name": "Katana yieldRecipient Mulsitig",
"description": "A Multisig with 2/7 threshold. \nMember of Safe.\n",
"accounts": [
{
"address": "eth:0x67C912fF560951526BffDff66dFbD4DF8AE23756",
"type": "Contract",
"isVerified": true,
"name": "0x67C9…3756",
"url": "https://etherscan.io/address/0x67C912fF560951526BffDff66dFbD4DF8AE23756"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x34d23C4fb6542B467cA8724bAD30AC811399b184",
"type": "EOA",
"isVerified": true,
"name": "0x34d2…b184",
"url": "https://etherscan.io/address/0x34d23C4fb6542B467cA8724bAD30AC811399b184"
},
{
"address": "eth:0x09f5F2592791208219A1F51e3855Be9419fF6bE4",
"type": "EOA",
"isVerified": true,
"name": "0x09f5…6bE4",
"url": "https://etherscan.io/address/0x09f5F2592791208219A1F51e3855Be9419fF6bE4"
},
{
"address": "eth:0xf2dc90d4645579f261cA36E81181986dB576BbEe",
"type": "EOA",
"isVerified": true,
"name": "0xf2dc…BbEe",
"url": "https://etherscan.io/address/0xf2dc90d4645579f261cA36E81181986dB576BbEe"
},
{
"address": "eth:0x54DFA4B635E7eB98515fEBA81d360A3871739277",
"type": "EOA",
"isVerified": true,
"name": "0x54DF…9277",
"url": "https://etherscan.io/address/0x54DFA4B635E7eB98515fEBA81d360A3871739277"
},
{
"address": "eth:0xb3dA4c1Ba8De9E04f22B1554a070189F518FDCac",
"type": "EOA",
"isVerified": true,
"name": "0xb3dA…DCac",
"url": "https://etherscan.io/address/0xb3dA4c1Ba8De9E04f22B1554a070189F518FDCac"
},
{
"address": "eth:0xa1a4C71024a0CAD6a1cEf85561f1B9a34E00ff62",
"type": "EOA",
"isVerified": true,
"name": "0xa1a4…ff62",
"url": "https://etherscan.io/address/0xa1a4C71024a0CAD6a1cEf85561f1B9a34E00ff62"
},
{
"address": "eth:0x227D9Ea843910Edd305c42e7bB9Ce6D9f369238c",
"type": "EOA",
"isVerified": true,
"name": "0x227D…238c",
"url": "https://etherscan.io/address/0x227D9Ea843910Edd305c42e7bB9Ce6D9f369238c"
}
],
"discoveryDrivenData": true
},
{
"id": "Katana Steakhouse Financial / Morpho Multisig",
"name": "Katana Steakhouse Financial / Morpho Multisig",
"description": "A Multisig with 2/6 threshold. \nMember of Katana vaultBridge Multisig 3.\n",
"accounts": [
{
"address": "eth:0x827e86072B06674a077f592A531dcE4590aDeCdB",
"type": "Contract",
"isVerified": true,
"name": "0x827e…eCdB",
"url": "https://etherscan.io/address/0x827e86072B06674a077f592A531dcE4590aDeCdB"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xf83dB716A1Ff12F9005F98f678D8BE97B8Bc81d6",
"type": "EOA",
"isVerified": true,
"name": "0xf83d…81d6",
"url": "https://etherscan.io/address/0xf83dB716A1Ff12F9005F98f678D8BE97B8Bc81d6"
},
{
"address": "eth:0x8AE8EE5ad6EaE89836B0070Ebc47AF06E3D7422b",
"type": "EOA",
"isVerified": true,
"name": "0x8AE8…422b",
"url": "https://etherscan.io/address/0x8AE8EE5ad6EaE89836B0070Ebc47AF06E3D7422b"
},
{
"address": "eth:0x0D61C8b6CA9669A36F351De3AE335e9689dd9C5b",
"type": "EOA",
"isVerified": true,
"name": "0x0D61…9C5b",
"url": "https://etherscan.io/address/0x0D61C8b6CA9669A36F351De3AE335e9689dd9C5b"
},
{
"address": "eth:0xcC771952fdE840E30C6802734e5ad20479c2959f",
"type": "EOA",
"isVerified": true,
"name": "0xcC77…959f",
"url": "https://etherscan.io/address/0xcC771952fdE840E30C6802734e5ad20479c2959f"
},
{
"address": "eth:0x387Cde8598E1CBb297FDc5bAEbA5E5c5c2735344",
"type": "EOA",
"isVerified": true,
"name": "0x387C…5344",
"url": "https://etherscan.io/address/0x387Cde8598E1CBb297FDc5bAEbA5E5c5c2735344"
},
{
"address": "eth:0xE3fCEE6B6cd564E073346f71394f60eC9aDf5120",
"type": "EOA",
"isVerified": true,
"name": "0xE3fC…5120",
"url": "https://etherscan.io/address/0xE3fCEE6B6cd564E073346f71394f60eC9aDf5120"
}
],
"discoveryDrivenData": true
},
{
"id": "Safe",
"name": "Safe",
"description": "A Multisig with 2/7 threshold. \nMember of Safe.\n",
"accounts": [
{
"address": "eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb",
"type": "Contract",
"isVerified": true,
"name": "0xFA58…f9Cb",
"url": "https://etherscan.io/address/0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xF045025C845E786E343Df30cC6f67ec6BB822b34",
"type": "EOA",
"isVerified": true,
"name": "0xF045…2b34",
"url": "https://etherscan.io/address/0xF045025C845E786E343Df30cC6f67ec6BB822b34"
},
{
"address": "eth:0x6B2Ba82994A1606605af1F11E50DA0b2B0cee6e6",
"type": "EOA",
"isVerified": true,
"name": "0x6B2B…e6e6",
"url": "https://etherscan.io/address/0x6B2Ba82994A1606605af1F11E50DA0b2B0cee6e6"
},
{
"address": "eth:0x6624307a4f672ec5C289fBA196952902BB518dc0",
"type": "EOA",
"isVerified": true,
"name": "0x6624…8dc0",
"url": "https://etherscan.io/address/0x6624307a4f672ec5C289fBA196952902BB518dc0"
},
{
"address": "eth:0x54DFA4B635E7eB98515fEBA81d360A3871739277",
"type": "EOA",
"isVerified": true,
"name": "0x54DF…9277",
"url": "https://etherscan.io/address/0x54DFA4B635E7eB98515fEBA81d360A3871739277"
},
{
"address": "eth:0xFAc88BB6229F47A31A78F0Ba91E5a541Cb1866a3",
"type": "EOA",
"isVerified": true,
"name": "0xFAc8…66a3",
"url": "https://etherscan.io/address/0xFAc88BB6229F47A31A78F0Ba91E5a541Cb1866a3"
},
{
"address": "eth:0x59cE4e1709c7E462F3b72Ca3e1256dFa7358FC29",
"type": "EOA",
"isVerified": true,
"name": "0x59cE…FC29",
"url": "https://etherscan.io/address/0x59cE4e1709c7E462F3b72Ca3e1256dFa7358FC29"
},
{
"address": "eth:0xdEb97974dfCC73178672205A1eadDc2BDeAc1Bd4",
"type": "EOA",
"isVerified": true,
"name": "0xdEb9…1Bd4",
"url": "https://etherscan.io/address/0xdEb97974dfCC73178672205A1eadDc2BDeAc1Bd4"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x1FFDA89C755f6D4Af069897D77CcAbb580Fd412a",
"type": "EOA",
"isVerified": true,
"name": "0x1FFD…412a",
"url": "https://etherscan.io/address/0x1FFDA89C755f6D4Af069897D77CcAbb580Fd412a",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0xC1E65a0cEbF95f56Cd8729f7e37CB33eD94d6439",
"type": "EOA",
"isVerified": true,
"name": "0xC1E6…6439",
"url": "https://etherscan.io/address/0xC1E65a0cEbF95f56Cd8729f7e37CB33eD94d6439",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with AggchainFEP\n * sign state transitions (replaces state validation for this aggchain) ",
"discoveryDrivenData": true
},
{
"id": "EOA-3-and-EOA-4",
"name": "EOA 3 and EOA 4",
"id": "EOA-4-and-EOA-5",
"name": "EOA 4 and EOA 5",
"accounts": [
{
"address": "eth:0x20A53dCb196cD2bcc14Ece01F358f1C849aA51dE",
"type": "EOA",
"isVerified": true,
"name": "0x20A5…51dE",
"url": "https://etherscan.io/address/0x20A53dCb196cD2bcc14Ece01F358f1C849aA51dE",
"displayName": "EOA 3"
"displayName": "EOA 4"
},
{
"address": "eth:0xD7e6c31750838Ef895fBe0c57f7Fd881a14482Fb",
"type": "EOA",
"isVerified": true,
"name": "0xD7e6…82Fb",
"url": "https://etherscan.io/address/0xD7e6c31750838Ef895fBe0c57f7Fd881a14482Fb",
"displayName": "EOA 4"
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "* A trusted Aggregator - acting directly",
"discoveryDrivenData": true
}
]
},
"katana": {
"roles": [],
"actors": [
{
"id": "GnosisSafeL2",
"name": "GnosisSafeL2",
"description": "A Multisig with 2/5 threshold. \n* Can interact with AgglayerBridgeL2\n * manage token mappings and deployments \n * own and upgrade default L2 token contracts deployed by the bridge \n * pause the bridge \n * unpause the bridge \n* Can interact with GlobalExitRootManagerL2SovereignChain\n * manage 'claimed' status of global deposit indexes (can freeze bridge transactions), remove global exit roots (used for L2 deposits) \n * roll back or insert leaves into the local exit tree (LET) that enables withdrawals from the L2. (can steal) ",
"accounts": [
{
"address": "katana:0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a",
"type": "Contract",
"isVerified": true,
"name": "0x4e98…C38a",
"url": "https://katanascan.com/address/0x4e981bAe8E3cd06Ca911ffFE5504B2653ac1C38a"
}
],
"chain": "katana",
"references": [],
"participants": [
{
"address": "katana:0x516eEcfb38aA308c5f1878497108c7d054fd46B7",
"type": "EOA",
"isVerified": true,
"name": "0x516e…46B7",
"url": "https://katanascan.com/address/0x516eEcfb38aA308c5f1878497108c7d054fd46B7"
},
{
"address": "katana:0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72",
"type": "EOA",
"isVerified": true,
"name": "0xEB5E…EA72",
"url": "https://katanascan.com/address/0xEB5EeE1F1650b821E0d3a87C1341d85b3a16EA72"
},
{
"address": "katana:0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B",
"type": "EOA",
"isVerified": true,
"name": "0x8B9F…782B",
"url": "https://katanascan.com/address/0x8B9F18bcDD5838bB1bd4B3d6410e45DF813b782B"
},
{
"address": "katana:0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC",
"type": "EOA",
"isVerified": true,
"name": "0xD947…fCFC",
"url": "https://katanascan.com/address/0xD9478f759a13Bfa1d9dAB3cDF5ff0C099d5EfCFC"
},
{
"address": "katana:0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5",
"type": "EOA",
"isVerified": true,
"name": "0x3038…D3b5",
"url": "https://katanascan.com/address/0x3038B4DBf022E80169b2A068290d4a3A8b87D3b5"
}
],
"discoveryDrivenData": true
},
{
"id": "upgradeProxy",
"name": "upgradeProxy",
"accounts": [
{
"address": "katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"type": "Contract",
"isVerified": false,
"name": "0x0F99…CC4A",
"url": "https://katanascan.com/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
}
],
"chain": "katana",
"description": "* Can upgrade **with no delay**\n * AgglayerBridgeL2 \n * GlobalExitRootManagerL2SovereignChain ",
"discoveryDrivenData": true
},
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 3/5 threshold. \n* Can interact with SequencerFeeVault\n * receive fees \n* Can interact with BaseFeeVault\n * receive fees \n* Can interact with L1FeeVault\n * receive fees ",
"accounts": [
{
"address": "katana:0x7990513f4d64d57524a0B2519759f53B0cB1aEbd",
"type": "Contract",
"isVerified": true,
"name": "0x7990…aEbd",
"url": "https://katanascan.com/address/0x7990513f4d64d57524a0B2519759f53B0cB1aEbd"
}
],
"chain": "katana",
"references": [],
"participants": [
{
"address": "katana:0x73D8846324B30477EA3Ac055589e40F39DE497F8",
"type": "EOA",
"isVerified": true,
"name": "0x73D8…97F8",
"url": "https://katanascan.com/address/0x73D8846324B30477EA3Ac055589e40F39DE497F8"
},
{
"address": "katana:0xf2dc90d4645579f261cA36E81181986dB576BbEe",
"type": "EOA",
"isVerified": true,
"name": "0xf2dc…BbEe",
"url": "https://katanascan.com/address/0xf2dc90d4645579f261cA36E81181986dB576BbEe"
},
{
"address": "katana:0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b",
"type": "EOA",
"isVerified": true,
"name": "0x4A65…154b",
"url": "https://katanascan.com/address/0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b"
},
{
"address": "katana:0x02023f74ED12Df7752144aE8A23411776D4698b4",
"type": "EOA",
"isVerified": true,
"name": "0x0202…98b4",
"url": "https://katanascan.com/address/0x02023f74ED12Df7752144aE8A23411776D4698b4"
},
{
"address": "katana:0xa43901c63f7702C407378E55E0d0EB4064a2AE31",
"type": "EOA",
"isVerified": true,
"name": "0xa439…AE31",
"url": "https://katanascan.com/address/0xa43901c63f7702C407378E55E0d0EB4064a2AE31"
}
],
"discoveryDrivenData": true
},
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * DeployerWhitelist [via: ProxyAdmin]\n * L2CrossDomainMessenger [via: ProxyAdmin]\n * GasPriceOracle [via: ProxyAdmin]\n * L2StandardBridge [via: ProxyAdmin]\n * SequencerFeeVault [via: ProxyAdmin]\n * OptimismMintableERC20Factory [via: ProxyAdmin]\n * L1BlockNumber [via: ProxyAdmin]\n * L2ERC721Bridge [via: ProxyAdmin]\n * L1Block [via: ProxyAdmin]\n * L2ToL1MessagePasser [via: ProxyAdmin]\n * OptimismMintableERC721Factory [via: ProxyAdmin]\n * ProxyAdmin [via: ProxyAdmin]\n * BaseFeeVault [via: ProxyAdmin]\n * L1FeeVault [via: ProxyAdmin]\n * OperatorFeeVault [via: ProxyAdmin]\n * SchemaRegistry [via: ProxyAdmin]\n * EAS [via: ProxyAdmin]",
"accounts": [
{
"address": "katana:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC",
"type": "Contract",
"isVerified": true,
"name": "0xd067…98CC",
"url": "https://katanascan.com/address/0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC"
}
],
"chain": "katana",
"references": [],
"participants": [
{
"address": "katana:0x6f8CC67A7F6c61E4047aC4870583899CC1fBD08a",
"type": "EOA",
"isVerified": true,
"name": "0x6f8C…D08a",
"url": "https://katanascan.com/address/0x6f8CC67A7F6c61E4047aC4870583899CC1fBD08a"
},
{
"address": "katana:0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b",
"type": "EOA",
"isVerified": true,
"name": "0x4A65…154b",
"url": "https://katanascan.com/address/0x4A658D678804DD0a4Ad0A2c26AD4F4EB2517154b"
},
{
"address": "katana:0xA697656ac37ee1f59A8a5318F61601B4C208960D",
"type": "EOA",
"isVerified": true,
"name": "0xA697…960D",
"url": "https://katanascan.com/address/0xA697656ac37ee1f59A8a5318F61601B4C208960D"
},
{
"address": "katana:0x73D8846324B30477EA3Ac055589e40F39DE497F8",
"type": "EOA",
"isVerified": true,
"name": "0x73D8…97F8",
"url": "https://katanascan.com/address/0x73D8846324B30477EA3Ac055589e40F39DE497F8"
},
{
"address": "katana:0xa43901c63f7702C407378E55E0d0EB4064a2AE31",
"type": "EOA",
"isVerified": true,
"name": "0xa439…AE31",
"url": "https://katanascan.com/address/0xa43901c63f7702C407378E55E0d0EB4064a2AE31"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "katana:0x3138BBdAeAd339d34F084445192B2be9dd4B9f27",
"type": "EOA",
"isVerified": true,
"name": "0x3138…9f27",
"url": "https://katanascan.com/address/0x3138BBdAeAd339d34F084445192B2be9dd4B9f27",
"displayName": "EOA 3"
}
],
"chain": "katana",
"description": "* Can interact with GlobalExitRootManagerL2SovereignChain\n * update the global exit root (GER) that is used for L2 deposits ",
"discoveryDrivenData": true
}
]
}
}
contracts
+522 -4
Viewed
{
"addresses": {
"ethereum": [
{
"name": "AggchainFEP",
"isVerified": true,
"address": "eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2"
],
"implementations": [
"eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746619859,
"transactionHash": "0x94512726adae49bb62110e2e8b037723a60d921d2ad2f18626e2d83a532e9f68",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1750690439,
"transactionHash": "0x3db4c1e8616cc300c46b7fea10aa3ef4d6e394642fce20ab2fd8ce15d16a7966",
"implementations": [
"eth:0x18C45DD422f6587357a6d3b23307E75D42b2bc5B"
]
},
{
"timestamp": 1750858139,
"transactionHash": "0x69b66ecfc6cd449a80b58c1fcb937f436ca4afedc3cb9586fb7f9b3f35546c79",
"implementations": [
"eth:0xe7FE45579D784DC83B0feD844A65f4cEEFDe5682"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x9532A2F35fc9B18BD4FE8315D9C5B1C1Cf6Ac660"
]
}
],
"description": "The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.\n* Roles:\n * **aggchainManager**: Polygon Multisig 2\n * **aggchainSigners**: EOA 2 optimisticMode is enabled by the optimisticModeManager\n * **optimisticModeManager**: Polygon Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666#code"
},
{
"name": "OptimismPortal2_neutered",
"name": "OptimismPortal2",
"isVerified": true,
"address": "eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4"
"eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746742811,
"transactionHash": "0x8889fe6d2dfe60b7a36d37f1f1177c604c413baef6bb6aa5ef9a517dce5bddb8",
"implementations": [
"eth:0xe2F826324b2faf99E513D16D266c3F80aE87832B"
]
},
{
"timestamp": 1746747095,
"transactionHash": "0xe49eea7d70073f7015c5d877a31b1375ba3422bebfdbcc23aa31111c01392c12",
"implementations": [
"eth:0x9a6C2Dcc7e523f87716e17Ba36D10CCfFA0A60bb"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x2D7e764a0D9919e16983a46595CfA81fc34fa7Cd"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0xB443Da3e07052204A02d630a8933dAc05a0d6fB4"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x51c852eC17062FB229A117Cb8abCBc7Eb171D5Bc"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x381E729FF983FA4BCEd820e7b922d79bF653B999"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x7Cf803296662e8C72A6C1d6450572209aCF7f202"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x3e6753e6c0162061cfa7eEc88d8fdaE651160Bf4"
]
},
{
"timestamp": 1779467495,
"transactionHash": "0x46d8e0a3a5383c133292ef51e4d7eef96fddc443b892d38e62c39b1186055691",
"implementations": [
"eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a"
]
}
],
"description": "The OptimismPortal contract usually is the main entry point to deposit funds from L1 to L2 or for finalizing withdrawals. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame. This specific fork of the standard contract **disables the depositTransaction() function**, which prevents users from sending or forcing any transactions from L1 to L2, including token deposits. It is instead used for configuration and administration of the system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Multisig 2",
"description": "Stores the configuration of the OP stack components and proof system. Specifies which game type is used for state validation, which currently is the PermissionedDisputeGame. This contract is modified to disable asset bridging, but it allows forced transactions.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1746742811,
"transactionHash": "0x8889fe6d2dfe60b7a36d37f1f1177c604c413baef6bb6aa5ef9a517dce5bddb8",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1746742811,
"transactionHash": "0x8889fe6d2dfe60b7a36d37f1f1177c604c413baef6bb6aa5ef9a517dce5bddb8",
"implementations": [
"eth:0xAB9d6cB7A427c0765163A7f45BB91cAfe5f2D375"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x760C48C62A85045A6B69f07F4a9f22868659CbCc"
]
},
{
"timestamp": 1753290299,
"transactionHash": "0xc60a3166aa296b584f143a129ac53f156ee9946373ff5fb97b3785cc5fc092a2",
"implementations": [
"eth:0x340f923E5c7cbB2171146f64169EC9d5a9FfE647"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x2bFE4A5Bd5A41e9d848d843ebCDFa15954e9A557"
]
},
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
]
}
],
"description": "Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Multisig 2\n * **batcherHash**: EOA 1\n * **owner**: Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174#code"
},
{
"name": "AgglayerGateway",
"isVerified": true,
"address": "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750087643,
"transactionHash": "0xe7c64d567589723d0920e6104296a434fb24193d2ccd33814d0b3fd753be5db2",
"implementations": [
"eth:0x7bB0e8f1950722694929dB392abA805AAc6e9346"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0xD062B7f9fbB89bdA59262E77015C34a27Dc9aB49"
]
}
],
"description": "A verifier gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.\n* Roles:\n * **addPpRoute**: Timelock; ultimately PolygonAdminMultisig\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **aggchainDefaultVKey**: PolygonAdminMultisig\n * **alMultisig**: PolygonAdminMultisig\n * **freezePpRoute**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x046Bb8bb98Db4ceCbB2929542686B74b516274b3#code"
},
{
"name": "AgglayerBridge",
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"description": "The shared bridge contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **proxiedTokensManager**: Timelock; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "AgglayerManager",
"isVerified": true,
"address": "eth:0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653163,
"transactionHash": "0xe34243804e1f7257acb09c97d0d6f023663200c39ee85a1e6927b0b391710bbb",
"implementations": [
"eth:0xe262Ea2782e2e8dbFe354048c3B5d6DE9603EfEF"
]
},
{
"timestamp": 1695198635,
"transactionHash": "0x25c342d7c5b4137b5439c16fd5fa1577c116277859202b2c68fcd9f73b3fc2ac",
"implementations": [
"eth:0x301442aA888701c8B86727d42F3C55Fb0dd9eF7F"
]
},
{
"timestamp": 1699521779,
"transactionHash": "0x1db1400138d6778d303b9a13e816432d11f8dfca00ef6ec6ffcb6698cb447a31",
"implementations": [
"eth:0xb1585916487AcEdD99952086f2950763D253b923"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x3b82Da772c825283d85d5d6717A77C6Ff582053b"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x103388f5661d224F4aFb555C7E4a8FB52d0b752d"
]
},
{
"timestamp": 1738594559,
"transactionHash": "0xb499c5a8f315d72886e44eabcbf6428fb9672f3ea8eb55adcbfda0ae0612233e",
"implementations": [
"eth:0xA33619940bceb9be7c9679Dd80FA2918C2476382"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x9ab2cB2107d3E737f7977B2E5042C58dE98326ab"
]
},
{
"timestamp": 1753882523,
"transactionHash": "0x289865ea6d92cdf5be21123b6ce61447f500ba14c229f02153113f8419af1695",
"implementations": [
"eth:0x42B9fF0644741e3353162678596e7D6aA6a13240"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x15cAF18dEd768e3620E0f656221Bf6B400ad2618"
]
}
],
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 3, EOA 4\n * **tweakParameters**: PolygonAdminMultisig",
"description": "The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the 'Emergency State'. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig\n * **createRollup**: PolygonAdminMultisig, PolygonCreateRollupMultisig\n * **defaultAdmin**: Timelock; ultimately PolygonAdminMultisig\n * **emergencyCouncilAdmin**: PolygonSecurityCouncil\n * **trustedAggregator**: EOA 4, EOA 5\n * **tweakParameters**: PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2#code"
},
{
"name": "AgglayerGER",
"isVerified": true,
"address": "eth:0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653151,
"transactionHash": "0x9946be78d6c6d19dd1c6c7134a8fac27e76d32cad36dae2398d28fe6ff838f10",
"implementations": [
"eth:0xbc1ea504fC54D078514eFCCA1F6860B5219B6BC3"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x2E38cD55163137483E30580Cb468C2dFf1d85077"
]
},
{
"timestamp": 1730286719,
"transactionHash": "0x8c1be5b5d844d6e04b2c224cd810cda091d70e6d5c2e5e0464993f7df1ab8403",
"implementations": [
"eth:0x9Bdda421219900454E94e01d641fE64c60D8f4C8"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0xc38C76aE3C8A7dee99d07f1A39246ABe18919a48"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x7F1655d9d570167B2a3FfD1Ef809D3Fdd74427C5"
]
}
],
"description": "A merkle tree storage contract aggregating state roots of each participating Layer 2, thus creating a single global merkle root representing the global state of the Agglayer, the 'global exit root'. The global exit root is synchronized to all connected Layer 2s to help with their interoperability.\n* Roles:\n * **admin**: SharedProxyAdmin; ultimately PolygonAdminMultisig",
"upgradableBy": [
{
"name": "PolygonAdminMultisig",
"delay": "3d"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x580bda1e7A0CFAe92Fa7F6c20A3794F169CE3CFb#code"
},
{
"name": "Timelock",
"isVerified": true,
"address": "eth:0xEf1462451C30Ea7aD8555386226059Fe837CA4EF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.\n* Roles:\n * **timelockAdmin**: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEf1462451C30Ea7aD8555386226059Fe837CA4EF#code"
},
{
"name": "vbWBTC",
"isVerified": true,
"address": "eth:0x2C24B57e2CCd1f273045Af6A5f632504C432374F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xda746ba183a805e81c8fc2bbaf726ca806f3a877b123a32c4a8fb233a3401cf1",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 1",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2C24B57e2CCd1f273045Af6A5f632504C432374F#code"
},
{
"name": "vbETH",
"isVerified": true,
"address": "eth:0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x14Be6579A41342ca6B402ec85E7be538e6Ade951"
],
"implementations": [
"eth:0x81c16F89222C32806Daf01f5129937dFE19D525e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0x5771d96984dfa1aa2ac1437a9a760fcdd8698a51646c357d228ca93a0c2bef49",
"implementations": [
"eth:0x81c16F89222C32806Daf01f5129937dFE19D525e"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 1",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2DC70fb75b88d2eB4715bc06E1595E6D97c34DFF#code"
},
{
"name": "vbUSDS",
"isVerified": true,
"address": "eth:0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xD1e389c046FB734D2a0c7C390312210c408ba832"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0x219783dd1d89579d2930234430e92b72a7e4e314bb10955de8a2e3eb25290acc",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 2",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3DD459dE96F9C28e3a343b831cbDC2B93c8C4855#code"
},
{
"name": "MigrationManager",
"isVerified": true,
"address": "eth:0x417d01B64Ea30C4E163873f3a1f77b727c689e02",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x263b251D67BB154DD6b8352539466ACE7948ED56"
],
"implementations": [
"eth:0xC6dD6399eAE419A0a33A8dc307f4c1dB26D30e45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xe7bb72352b7a946e63626c8facddd751a5c413b1f8e617bc03972e29c79f7066",
"implementations": [
"eth:0xC6dD6399eAE419A0a33A8dc307f4c1dB26D30e45"
]
}
],
"description": "Helper contract for the vaultBridge tokens on Layer 2. If any vbTokens are minted 'natively' on Layer 2, this contract can receive the underlying assets and lock them in the Layer 1 vaults.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Labs Engineering/Security Multisig",
"upgradableBy": [
{
"name": "Polygon Labs Engineering/Security Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x417d01B64Ea30C4E163873f3a1f77b727c689e02#code"
},
{
"name": "vbUSDC",
"isVerified": true,
"address": "eth:0x53E82ABbb12638F09d9e624578ccB666217a765e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x8970650CF3f1E57cA804C65B4DBcFf698789FE30"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xba1f13977401e784b36c67323c10a86828a2ba7dacce1c84be247bb3964a0aeb",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 3",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 3",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x53E82ABbb12638F09d9e624578ccB666217a765e#code"
},
{
"name": "vbUSDT",
"isVerified": true,
"address": "eth:0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x377a9e5df2882DC1DF8A0bD162cbc640eA634010"
],
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1747909835,
"transactionHash": "0xe5faaacdd7685d1b7fb939c740c7830a0fd07a48a7dc4495a3862e2a9cbff0cd",
"implementations": [
"eth:0xcC865B0324121b43728176024f58bdbB3afd6f29"
]
}
],
"description": "This token contract uses a standard 'vault bridge token' implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to Safe.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Katana vaultBridge Multisig 1",
"upgradableBy": [
{
"name": "Katana vaultBridge Multisig 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d4f9f9f8f0155509ecd6Ac6c544fF27999845CC#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x14Be6579A41342ca6B402ec85E7be538e6Ade951",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x14Be6579A41342ca6B402ec85E7be538e6Ade951#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Polygon Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832#code"
},
{
"name": "PreimageOracle",
"isVerified": true,
"address": "eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The PreimageOracle contract is used to load the required data from L1 for a dispute game.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x263b251D67BB154DD6b8352539466ACE7948ED56",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Polygon Labs Engineering/Security Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x263b251D67BB154DD6b8352539466ACE7948ED56#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x377a9e5df2882DC1DF8A0bD162cbc640eA634010",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x377a9e5df2882DC1DF8A0bD162cbc640eA634010#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 1",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x420693B32113a0e00Eb9f3315D5D5ec3b32C2d69#code"
},
{
"name": "MIPS",
"isVerified": true,
"address": "eth:0x6463dEE3828677F6270d83d45408044fc5eDB908",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6463dEE3828677F6270d83d45408044fc5eDB908#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x6d0ff67fb427422AfF35EEa8596949B374b09a52",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Polygon Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6d0ff67fb427422AfF35EEa8596949B374b09a52#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8970650CF3f1E57cA804C65B4DBcFf698789FE30",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 3",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8970650CF3f1E57cA804C65B4DBcFf698789FE30#code"
},
{
"name": "PermissionedDisputeGame",
"isVerified": true,
"address": "eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA7A26BbA1191a064637d7B0b23896589F4e4d22D#code"
},
{
"name": "AnchorStateRegistry",
"isVerified": true,
"address": "eth:0xaA8a62563CFe4E36118ED479B5486F503b438376",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
]
}
],
"description": "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xaA8a62563CFe4E36118ED479B5486F503b438376#code"
},
{
"name": "DelayedWETH",
"isVerified": true,
"address": "eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
],
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1772552963,
"transactionHash": "0xa814ff1c6a02fa4a717875ed09e96cbd61874d85c896f3ddd8df290c73f34961",
"implementations": [
"eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998"
]
}
],
"description": "Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Polygon Multisig 2",
"upgradableBy": [
{
"name": "Polygon Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb41151Bf2B989d3771caBd5BCb5C435949543322#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xD1e389c046FB734D2a0c7C390312210c408ba832",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Katana vaultBridge Multisig 2",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD1e389c046FB734D2a0c7C390312210c408ba832#code"
},
{
"name": "SP1Verifier",
"isVerified": true,
"address": "eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Verifier contract for SP1 proofs (v5.0.0).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459#code"
},
{
"name": "SharedProxyAdmin",
"isVerified": true,
"address": "eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Timelock",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "eth:0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Extension contract of the AgglayerBridge for asset metadata..\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3622Fcf450ca40a340b7492Ae5F60E7c7Ea68aB3#code"
}
],
"katana": [
{
"name": "AgglayerBridgeL2",
"isVerified": true,
"address": "katana:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"katana:0x094B1B2322F1A8927B61dfAf686CA78d71C6cbf6"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1747842266,
"transactionHash": "0xb3c92e7a065f876cfe017a4bed5a966e28075d693b5ef221fa49b2ff0d727c7c",
"implementations": [
"katana:0xd4AC5935c9AeA32FC120D52B22Ee41C9C5f82DEe"
]
},
{
"timestamp": 1750928669,
"transactionHash": "0x2095014c39cf800cb6f965f51435d55108c75ef70ff4e83f148ba99fd115684a",
"implementations": [
"katana:0xc8EC6E02AF5D7E2EBf590601979401A696Bf820e"
]
},
{
"timestamp": 1751061868,
"transactionHash": "0xe21aaf644474404b9c5441f48e95467afaaec140d8435b9d3f31474e59a05dd2",
"implementations": [
"katana:0xe3E6F722b047Ce3B1F733D9c5B0609DA4e9D1FAb"
]
},
{
"timestamp": 1772560429,
"transactionHash": "0xff4926542308f9cea5b8b77f9c6d20a840b61878991d25981ca96b55c3a830ec",
"implementations": [
"katana:0x094B1B2322F1A8927B61dfAf686CA78d71C6cbf6"
]
}
],
"description": "Agglayer bridge contract. Supports interop with Ethereum and blockchains connected to Agglayer. Escrows all preminted ETH because it cannot mint on the L2. The globalExitRootManager is used as an oracle to validate bridge messages against.\n* Roles:\n * **admin**: upgradeProxy\n * **bridgeManager**: GnosisSafeL2\n * **emergencyBridgePauser**: GnosisSafeL2\n * **emergencyBridgeUnpauser**: GnosisSafeL2\n * **getProxiedTokensManager**: GnosisSafeL2",
"upgradableBy": [
{
"name": "upgradeProxy",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
{
"name": "GlobalExitRootManagerL2SovereignChain",
"isVerified": true,
"address": "katana:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"katana:0x0200143Fa295EE4dffEF22eE2616c2E008D81688"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "Manages Layer 2 and global merkle roots (exit roots). It stores exit roots written during bridge deposits, accepts imported global exit roots from a permissioned address, and manages historical roots.\n* Roles:\n * **admin**: upgradeProxy\n * **globalExitRootRemover**: GnosisSafeL2, GnosisSafeL2 if the bridge is paused\n * **globalExitRootUpdater**: EOA 3",
"upgradableBy": [
{
"name": "upgradeProxy",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA#code"
},
{
"name": "DeployerWhitelist",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000002",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xc0d3c0d3C0d3c0D3c0d3C0D3c0d3C0d3c0D30002"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000002#code"
},
{
"name": "L2CrossDomainMessenger",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000007",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xC0d3c0d3c0D3c0D3C0d3C0D3C0D3c0d3c0d30007"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "The L2CrossDomainMessenger (L2xDM) contract sends messages from L2 to L1, and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limit, it can be resubmitted via this contract’s replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000007#code"
},
{
"name": "GasPriceOracle",
"isVerified": false,
"address": "katana:0x420000000000000000000000000000000000000F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xb6560306ccb0e772b132a8a6dd78244c0d7ac270c80baba40f95006184926c30",
"implementations": [
"katana:0x93e57A196454CB919193fa9946f14943cf733845"
]
},
{
"timestamp": 1773066601,
"transactionHash": "0xc7c01d75d0b6950fcd30b448cba848e9841ab9ebb6b46eed9ecde4ba05ad0fd9",
"implementations": [
"katana:0x4f1db3c6AbD250ba86E0928471A8F7DB3AFd88F1"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x420000000000000000000000000000000000000F#code"
},
{
"name": "SequencerFeeVault",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000011",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0x8A52Ca0E8459460C6861C117285E6973Ecf7EE3f"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1751048222,
"transactionHash": "0xbfd0fa2d55165b0f6a787f0cd5ec9fe057e088f52556ca7b3d89bdf206961ae6",
"implementations": [
"katana:0x8A52Ca0E8459460C6861C117285E6973Ecf7EE3f"
]
}
],
"description": "Collects the sequencer fees.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **recipient**: SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000011#code"
},
{
"name": "L1BlockNumber",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000013",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xC0D3C0d3C0D3c0D3C0d3c0D3C0d3c0d3C0d30013"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "Simple contract that returns the latest L1 block number.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000013#code"
},
{
"name": "L1Block",
"isVerified": false,
"address": "katana:0x4200000000000000000000000000000000000015",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xe992e00998b34075506d2726a274db07a62af6cdd9d527bfda9128114603cfbd",
"implementations": [
"katana:0xFf256497D61dcd71a9e9Ff43967C13fdE1F72D12"
]
},
{
"timestamp": 1773066601,
"transactionHash": "0xcd60191626fa3124e7031235c52f0adf6be545ebbd7cf55641bd9dabcbedaf6a",
"implementations": [
"katana:0x3Ba4007f5C922FBb33C454B41ea7a1f11E83df2C"
]
}
],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000015#code"
},
{
"name": "L2ToL1MessagePasser",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000016",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xFBF44D0341C03098A1D9C0336e3d5C34E8BFdf1A"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1746747728,
"transactionHash": "0x8ff7fb4b9e07e0ba8436cd4a724fd4029bac1c49ed773e4b750c9d5b529f8a4b",
"implementations": [
"katana:0xFBF44D0341C03098A1D9C0336e3d5C34E8BFdf1A"
]
}
],
"description": "Contract used internally by the L2CrossDomainMessenger to send messages to L1. It can also be used directly as a low-level interface.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000016#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000018",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xC0d3C0D3c0d3C0d3c0d3c0D3C0D3C0d3C0D30018"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **owner**: SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000018#code"
},
{
"name": "BaseFeeVault",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000019",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0x7e27d992B349B96ea8D32378B7c53b3D58139a2E"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1751047987,
"transactionHash": "0x102958f21f34f8d3e075ce9d124919c15f7c466105ab31957e94d698cceed77b",
"implementations": [
"katana:0x7e27d992B349B96ea8D32378B7c53b3D58139a2E"
]
}
],
"description": "Collects EIP-1559 base fees\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **recipient**: SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000019#code"
},
{
"name": "L1FeeVault",
"isVerified": true,
"address": "katana:0x420000000000000000000000000000000000001A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0x0ebC896698De72A444d00Dc3d046B432c555EB09"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1751048135,
"transactionHash": "0x7f2d7c48dff15cb514d68ddf9c91d98165e1edaca9317fc22a3f16828311f8b2",
"implementations": [
"katana:0x0ebC896698De72A444d00Dc3d046B432c555EB09"
]
}
],
"description": "Collects the L1 portion of the L2 transaction fees.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2\n * **recipient**: SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x420000000000000000000000000000000000001A#code"
},
{
"name": "OperatorFeeVault",
"isVerified": true,
"address": "katana:0x420000000000000000000000000000000000001b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537"
]
},
"chain": "katana",
"pastUpgrades": [
{
"timestamp": 1746806401,
"transactionHash": "0xf162acc8ebbaf9237755736b62331a4817fe27bbbe3712f473ecfa8fee499f7c",
"implementations": [
"katana:0x4fa2Be8cd41504037F1838BcE3bCC93bC68Ff537"
]
}
],
"description": "Holds the 'operator fees' for the L2 network, which are part of the L2 fees that users pay.\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x420000000000000000000000000000000000001b#code"
},
{
"name": "SchemaRegistry",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000020",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xc0d3c0d3c0d3C0d3c0d3C0D3C0D3c0d3C0D30020"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "Contracts to register schemas for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000020#code"
},
{
"name": "EAS",
"isVerified": true,
"address": "katana:0x4200000000000000000000000000000000000021",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"katana:0x4200000000000000000000000000000000000018"
],
"implementations": [
"katana:0xC0D3c0D3C0d3c0D3c0D3C0D3c0D3c0d3c0d30021"
]
},
"chain": "katana",
"pastUpgrades": [],
"description": "Contract containing the main logic for the Ethereum Attestation Service (EAS).\n* Roles:\n * **admin**: ProxyAdmin; ultimately SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0x4200000000000000000000000000000000000021#code"
},
{
"name": "BridgeLib",
"isVerified": true,
"address": "katana:0xb30C032b183525de7427f04e79F45Cd19866E124",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "katana",
"description": "Utility library contract for the AgglayerBridgeL2.\n",
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0xb30C032b183525de7427f04e79F45Cd19866E124#code"
},
{
"name": "TokenWrappedBridgeUpgradeable",
"isVerified": true,
"address": "katana:0xF0777a825470092b3Debc9af291634460b8E1a2c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "katana",
"description": "An ERC-20 implementation designed for cross-chain assets on the L2. It restricts token minting or burning strictly to the primary bridge contract.\n",
"discoveryDrivenData": true,
"url": "https://katanascan.com/address/0xF0777a825470092b3Debc9af291634460b8E1a2c#code"
}
]
},
"escrows": [
{
"address": "0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"sinceTimestamp": 1679653127,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0F99738B2Fc14D77308337f3e2596b63aE7BCC4A"
],
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1679653127,
"transactionHash": "0x28f93532243dd8a8cc92ce630ef1920f40de15af7db2903efbf42f21fdf8152c",
"implementations": [
"eth:0x5ac4182A1dd41AeEf465E40B82fd326BF66AB82C"
]
},
{
"timestamp": 1707822059,
"transactionHash": "0xb83824c7eb1e87bd12222d98cf1cbff317b0853ba1e5beda1e3e3d8a4cfd1b24",
"implementations": [
"eth:0x0FeB850B183C57534b56b7d56520133C8f9BDB65"
]
},
{
"timestamp": 1750689983,
"transactionHash": "0xcdd772d0b4764da67b80a72af2da7230f4f70f8c810cb8c4fe3882b8c4506ff3",
"implementations": [
"eth:0x75D28BfDfF93B3e4f20184b442d2634DC01cA48b"
]
},
{
"timestamp": 1761747071,
"transactionHash": "0x7be3301b763f904f5076e22914b0ea13e101ed3cff6480b23a7757e7b9875939",
"implementations": [
"eth:0x66E0120e3c965552a89AcC37b03f762624baC5Ad"
]
}
],
"url": "https://etherscan.io/address/0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe#code"
},
"chain": "ethereum",
"includeInTotal": true,
"sharedEscrow": {
"type": "AggLayer",
"nativeAsset": "etherPreminted",
"premintedAmount": "340282366920938463463374607431768211455"
},
"chainId": 1
}
],
"programHashes": [
{
"title": "Aggregation program of OP Succinct",
"description": "Aggregates proofs of correct execution for several consecutive block ranges of OP L2 client. Data availability layer is set to Ethereum blobs.",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x0065e407807b2b3610cc9ff6637ea16e815552bc34b48c206529d3cfcd9d1152"
},
{
"title": "Range program of OP Succinct",
"description": "Proves correct state transition function within an OP L2 client over a range of consecutive L2 blocks. Data availability layer is set to Ethereum blobs.",
"proverSystemProject": "sp1",
"verificationStatus": "notVerified",
"hash": "0x5c7c05114bc5dd360fdb52ec2b4977a45f7e22806bc949a72759ea1172202229"
},
{
"title": "Aggchain program of agglayer v1.1.2",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.1.2/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.1.2`. Commit hash should be `f8580024d771580217ded443f85e42919d682595`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n4. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n5. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/elf/riscv32im-succinct-zkvm-elf` using SP1 toolchain, e.g. by this simple rust script:\n\n```\nuse sp1_sdk::{HashableKey, Prover, CpuProver};\n\nfn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n}\n```\n ",
"hash": "0x713f8a687452545141b6cd852472c67742a5c61474b97a136d0d107804affa1f"
},
{
"title": "Aggchain program of agglayer v1.5.0",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.5.0/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.5.0`. Commit hash should be `347a140649383d8f5aa5a14907a45cfa756426af`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n4. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/elf/riscv32im-succinct-zkvm-elf` using SP1 toolchain, e.g. by this simple rust script:\n\n```\nuse sp1_sdk::{HashableKey, Prover, CpuProver};\n\nfn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n}\n```\n ",
"hash": "0x374ee73950cdb07d1b8779d90a8467df232639c13f9536b03f1ba76a2aa5dac6"
},
{
"title": "Aggchain program of agglayer v1.8.0",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.8.0/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n\n Verify:\n \n 1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.8.0`. Commit hash should be `df2e48ad8432a863bdc0a939108d37a69f4bea4e`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n 4. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/elf/riscv32im-succinct-zkvm-elf` using SP1 toolchain, e.g. by this simple rust script:\n \n ```\n use sp1_sdk::{HashableKey, Prover, CpuProver};\n \n fn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n }\n ```\n ",
"hash": "0x6e38caa6114ac4b9779f647547de9e8f09e9f5cd6194e7134110760d3aa31b53"
},
{
"title": "Aggchain program of agglayer v1.9.2",
"description": "Verifies state transition of an Agglayer-based chain either by checking a full validity proof or just by checking a registered sequencer signature. Also checks that L1 information on the chain aligns with the values stored on Agglayer.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/provers/tree/v1.9.2/crates/aggchain-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [provers repo](https://github.com/agglayer/provers): `git checkout v1.9.2`. Commit hash should be `191952ce5551badd578063e475f9a4f3c5a9b0f4`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make ap-elf` to generate aggchain program elf from sources\n4. Compute vkey hash bytes of the generated `crates/aggchain-proof-program/target/elf-compilation/docker/riscv32im-succinct-zkvm-elf/release/aggchain-proof-program` using SP1 toolchain, e.g. by this simple rust script:\n\n```\nuse sp1_sdk::{HashableKey, Prover, CpuProver};\n\nfn main() {\n let elf_path = std::env::args().nth(1).expect(\"Provide elf_path\");\n let elf_bytes = std::fs::read(&elf_path).expect(\"File read error\");\n let prover = CpuProver::new();\n let (_pk, vkey) = Prover::setup(&prover, &elf_bytes);\n let comm = vkey.hash_bytes();\n let hex: String = comm.iter().\n map(|b| format!(\"{:02x}\", b)).collect();\n println!(\"0x{}\", hex);\n}\n```\n ",
"hash": "0x7767a8330ce68dac35265ba15d9eec6722b943cf00dc3b733779e1ae55696f70"
},
{
"title": "Pessimistic program of agglayer 0.3.3-post4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.3.3-post.4/crates/pessimistic-proof-program",
"verificationStatus": "successful",
"verificationSteps": "\n Prepare:\n \n 1. Install cargo make: `cargo install --debug --locked cargo-make`\n 2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n \n Verify:\n \n 1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.3.3-post.4`. Commit hash should be `df072abc86fa89e12b17204246325983272a1141`\n 2. Make sure docker is running by running `docker ps`\n 3. From the root dir: `cargo make install-cargo-prove` to install the correct version of sp1 toolchain\n 4. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n 5. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf\n ",
"hash": "0x00eff0b6998df46ec388bb305618089ae3dc74e513e7676b2e1909694f49cc30"
},
{
"title": "Pessimistic program of agglayer v0.4.4",
"description": "Verifies that a chain connected to Polygon Agglayer does not bridge out more tokens that were bridged in, thus preventing stealing tokens from other Agglayer chains. Also verifies aggchain proof for this chain.",
"proverSystemProject": "sp1turbo",
"programUrl": "https://github.com/agglayer/agglayer/tree/v0.4.4/crates/pessimistic-proof",
"verificationStatus": "successful",
"verificationSteps": "\nPrepare:\n\n1. Install cargo make: `cargo install --debug --locked cargo-make`\n2. Install sp1 toolchain: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up`\n3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/)\n\nVerify:\n\n1. Checkout the correct branch in [agglayer repo](https://github.com/agglayer/agglayer/tree/main): `git checkout v0.4.4`. Commit hash should be `caac9f06bc7cb1cf89912dbb4dffa4d594a00bd5`.\n2. Make sure docker is running by running `docker ps`\n3. From the root dir: `cargo make pp-elf` to generate pessimistic program elf from sources\n4. From the pessimistic-proof/elf dir: `cargo prove vkey --elf riscv32im-succinct-zkvm-elf` to check the verification key of this elf.\n ",
"hash": "0x000055f14384bdb5bb092fd7e5152ec31856321c5a30306ab95836bdf5cdb639"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "the contracts or their dependencies (e.g. AggLayerGateway) receive a malicious code upgrade. There is no delay on upgrades."
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": [
"eth:0x0459d576A6223fEeA177Fb3DF53C9c77BF84C459"
]
}
discoveryInfo
+1 -1
Viewed
{
"baseTimestamp": 1778675724,
"baseTimestamp": 1779956198,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}