00219f80 (main)
and
c1b5ad3b (PR)
+12 -12
+12 -12
{
"contracts": {
"addresses": {
"ethereum": [
{
"name": "DeBridgeGate",
"isVerified": true,
"address": "eth:0x43dE2d77BF8027e25dBD179B491e8d64f38398aA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0x797161BCC625155D2302251404ccB93c2632658e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637595390,
"transactionHash": "0x1f191abb3e293e615df529fef0c7f1f0a9c5a9dacd44154c47df269d2a68d8b8",
"implementations": [
"eth:0xB1A20D1c885fd775df97396397d6f8F07Abdd20D"
]
},
{
"timestamp": 1639666435,
"transactionHash": "0x0cd2756ab739a46f966c013e709225d6e5e8a10f30bc0842b207205f6aa32670",
"implementations": [
"eth:0xFCe0502293dCacbFc2d663f7814b2771dEcfd576"
]
},
{
"timestamp": 1642498197,
"transactionHash": "0x7a4bc7d90aada3516e4fc057714f46e5b25dcaf4c2524e49148f5c317a04b149",
"implementations": [
"eth:0x51bFD427D06B2a5FC3588f9d023994A9f70e0Ce0"
]
},
{
"timestamp": 1645018041,
"transactionHash": "0x361b7193ffb8462e6ccb8a6237cbbf67f3367a08a9e8f781ac245f8b72c5783c",
"implementations": [
"eth:0xc8550d85759BAbE6851235212563Fa2Ff04961BF"
]
},
{
"timestamp": 1647346668,
"transactionHash": "0xd71afcf98347af3e96dc8ba6a61c4c9cdbb213e82893639945a1b8d4ab51d9e2",
"implementations": [
"eth:0x24455aa55DED7728783c9474bE8eA2f5C935f8EB"
]
},
{
"timestamp": 1671101939,
"transactionHash": "0x4c0887fede83ae4bb405125f1f08a3e6604ca712ae7c135de79e4595a9b408dd",
"implementations": [
"eth:0x797161BCC625155D2302251404ccB93c2632658e"
]
}
],
"description": "Central hub of the deBridge messaging protocol on this chain: it emits cross-chain submissions (asset transfers and/or arbitrary messages), locks and releases native assets, mints and burns deBridge-wrapped assets (deTokens), and executes claimed submissions after their validator signatures are checked by the SignatureVerifier. Claiming is permissionless: anyone can execute a submission that carries enough validator signatures.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **govMonitoring**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DeBridgeTokenDeployer",
"isVerified": true,
"address": "eth:0x8244d6Ffe0695B30b2bAD424683Ee3bc534Ea464",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0x4c7CA8fcFFE77281A8B81D4580CFf8257d785491"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637613802,
"transactionHash": "0x291ee8bccd951b70182aee107393bc15fe0f12aa49d9759b196040f8c7ba219b",
"implementations": [
"eth:0x4c7CA8fcFFE77281A8B81D4580CFf8257d785491"
]
}
],
"description": "Deploys deBridge-wrapped token (deToken) contracts when an asset is bridged to this chain for the first time (callable only by the DeBridgeGate). All deTokens are beacon proxies whose beacon is this contract itself, so its tokenImplementation applies to every deToken on this chain at once.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **deBridgeTokenAdmin**: Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "CallProxy",
"isVerified": true,
"address": "eth:0x8a0C79F5532f3b2a16AD1E4282A5DAF81928a824",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0xBd3d657AE87671eC6f8D6272A9f431a7c4a9B6f8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637625277,
"transactionHash": "0x36e5d0f595838f33403445a5570b731087b16f2d7cb133aeb584f1ac1d444e3d",
"implementations": [
"eth:0x4e446b6Cf4d127827c83Ca0c848Db0B43841c391"
]
},
{
"timestamp": 1642498322,
"transactionHash": "0xc3bf11577e383e1292663bd254b218f4c4f4d9dd682a6d51f2a7149eb0991420",
"implementations": [
"eth:0xd5317E82BFEFf70b4773f0fcab5e2ABFA3c7D63b"
]
},
{
"timestamp": 1645016104,
"transactionHash": "0x580899ecfd63515c52fec86f09211a5c68fc6945256cd13ef45f5e4fc8aaba61",
"implementations": [
"eth:0x752A9e96e8683400ae238270C97c1D0160861fEF"
]
},
{
"timestamp": 1651500522,
"transactionHash": "0x6d3f1f876d002a58b8c95bc7ebcbd107bae9d1474e9e92125d83b4bec578a2da",
"implementations": [
"eth:0x0C4B79205F6Cc20c0E0201b61b99e77F3CE3B67A"
]
},
{
"timestamp": 1652966679,
"transactionHash": "0x883ba2edf63b460976d0de98a7089f3ea4d0a26257cfeb94af96d557e8e02f25",
"implementations": [
"eth:0xe5a04b307B31Af07F4DfCaA840952Ff7d3845c7e"
]
},
{
"timestamp": 1653739487,
"transactionHash": "0xd5a418a542f27929f6bbf34f70ce62607626d83b8503bda49bcef3e5e0591ce9",
"implementations": [
"eth:0xBd3d657AE87671eC6f8D6272A9f431a7c4a9B6f8"
]
}
],
"description": "Sandbox that executes arbitrary calldata attached to claimed cross-chain submissions on behalf of the DeBridgeGate. Calls are performed from this contract's address with attacker-choosable target and data, so external contracts must never trust it as a caller; it isolates such calls from the gate's balances.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "SignatureVerifier",
"isVerified": true,
"address": "eth:0x949b3B3c098348b879C9e4F15cecc8046d9C8A8c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0xfE7De3c1e1BD252C67667B56347cABFC6df08dF4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637621914,
"transactionHash": "0xd8f65ce63f16eefd8816d0faa6c975cb1422ef4d6bbb58bd8e7507fb27b2dc5f",
"implementations": [
"eth:0x2a3e72eD893b5958690e16c3BBe1BD92137b6250"
]
},
{
"timestamp": 1639739366,
"transactionHash": "0x190291e3c01fd074908fb41309a0438c8458d7b7f0f659dcfc5d9dbb5ea3807f",
"implementations": [
"eth:0xfE7De3c1e1BD252C67667B56347cABFC6df08dF4"
]
}
],
"description": "Validation layer of the deBridge messaging protocol on this chain: it accepts a cross-chain submission if at least minConfirmations of the registered validators (oracles) have signed its submission ID with a plain ECDSA signature, and every validator flagged as 'required' has signed. There is no other proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **oracleAddresses**: EOA 10, EOA 11, EOA 12, EOA 13, EOA 14, EOA 2, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DlnDestination",
"isVerified": true,
"address": "eth:0xE7351Fd770A37282b91D153Ee690B63579D6dd7f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA7b88A746FA457578D5abd6234471f07D895F46b"
],
"implementations": [
"eth:0xD9b4f9CacFFB59F2B982ad3c45096e3AA4B4020e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1670855123,
"transactionHash": "0xd606c6f939028171d2b15a50ac3af8f87d21a5623730d4ed45e5771980819393",
"implementations": [
"eth:0x60E50145db18e09fF2bB277e88D3C264FF57b91f"
]
},
{
"timestamp": 1692616259,
"transactionHash": "0xb7d8cfb77cd7ee0be426477583ed4597fe238e699cd690bdaf882371b9f98f0e",
"implementations": [
"eth:0x177c8AeDc61EFc47DE70616C89464c5d2A56E4AB"
]
},
{
"timestamp": 1692865787,
"transactionHash": "0xeada1e2b8eb5ca1dca54b7cd4e41c87dee29b6c9841fd05edd39f126edd8e539",
"implementations": [
"eth:0x979791C607a388702690599120c46332f61f592C"
]
},
{
"timestamp": 1694190863,
"transactionHash": "0xce0ae6434e2eca80d8a4efbfbe15f1fa7f9c8b32f4452fda42dcd9e34b9fef16",
"implementations": [
"eth:0x33B72F60F2CEB7BDb64873Ac10015a35bed81717"
]
},
{
"timestamp": 1770984515,
"transactionHash": "0xf187915dcb7b435138135f96d4a9bf6f606255d5247b00f0282afd2516bc02d2",
"implementations": [
"eth:0xE540eb6BfEE129d28d47E26Ad33a138d66FD78f5"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0xD9b4f9CacFFB59F2B982ad3c45096e3AA4B4020e"
]
}
],
"description": "Destination side of the deBridge Liquidity Network (DLN) intent protocol: takers fulfill orders here permissionlessly by paying the 'take' amount, which is forwarded to the order recipient in the same transaction (this contract holds no user funds). The taker then sends an unlock message back to the source chain's DlnSource through the deBridge messaging protocol to claim the escrowed maker funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **govCancel**: EOA 1",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DlnSource",
"isVerified": true,
"address": "eth:0xeF4fB24aD0916217251F553c0596F8Edc630EB66",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA7b88A746FA457578D5abd6234471f07D895F46b"
],
"implementations": [
"eth:0x2b426a0Ac391490e88d15B304436e7a84Df78611"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1670855039,
"transactionHash": "0x45e08da232b5aea7adc3aaccd8ba54ced78667d11fc356eb46bce459a5289c85",
"implementations": [
"eth:0x95c99EA6D7e72e99F18049019a427A4a17C53A30"
]
},
{
"timestamp": 1694190863,
"transactionHash": "0xce0ae6434e2eca80d8a4efbfbe15f1fa7f9c8b32f4452fda42dcd9e34b9fef16",
"implementations": [
"eth:0x7Ec2E51A9c4f088354aD8Ad8703C12D81BF21677"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0xbF20cB9614a0059bBe4b599d1D04358aFe31eDfb"
]
},
{
"timestamp": 1757936831,
"transactionHash": "0xf1d50e3b14cf974394d925c71087896c185c14c9e79506744a9fd57d5f2aa738",
"implementations": [
"eth:0xe13a85137f8752AbE4c5A614Dc3BaF396b00308D"
]
},
{
"timestamp": 1765204811,
"transactionHash": "0x25b20353a5814918c4c569e1f9e8fede74138c9b7ab2043428a60f1c632d0ce6",
"implementations": [
"eth:0x322B481088143d9Ff74e4169Fb7f12F7808690DF"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0x2b426a0Ac391490e88d15B304436e7a84Df78611"
]
}
],
"description": "Source-side escrow of the deBridge Liquidity Network (DLN) intent protocol: users lock the 'give' funds of a cross-chain order directly in this contract. Funds are released to the taker (claimUnlock) or refunded to the maker (claimCancel) only on a message from the DlnDestination configured for the order's destination chain, authenticated via the CallProxy of the deBridge messaging protocol (i.e. ultimately by deBridge validator signatures).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **feeCollector**: EOA 3",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x368Fa5E37EF1aCefF359Dc2E9DC7393C1CbCC4A3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 15",
"discoveryDrivenData": true
},
{
"name": "IntentManagerValidator",
"isVerified": true,
"address": "eth:0x4247c6f71407359E4C8D29787E98D752F264CD4b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable allowlist contract referenced by DlnSource: addresses holding the INTENT_MANAGER_ROLE can create DLN orders with custom or zero protocol fees. It grants no access to existing funds.\n* Roles:\n * **defaultAdmin**: EOA 16",
"discoveryDrivenData": true
},
{
"name": "ExternalCallAdapter",
"isVerified": true,
"address": "eth:0x61eF2e01E603aEB5Cd96F9eC9AE76cc6A68f6cF9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA7b88A746FA457578D5abd6234471f07D895F46b"
],
"implementations": [
"eth:0xE143DbAEC892cEf2Af836dB49870A0Bcf9d5E6A1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694079551,
"transactionHash": "0x39c864edd3630cf628c32b5d52f5a6f17348a27f6a906698bf0a4f4f6cfa0701",
"implementations": [
"eth:0x5706875cef89AB69E818D4921a47D0d2663D2728"
]
},
{
"timestamp": 1697470559,
"transactionHash": "0x609ef19a09385ad022a973b6dd98868a56d3354c0cff07eddefb4599327adf44",
"implementations": [
"eth:0xA85437470f38F004C2F4b0D75d282E47bF555a3a"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0x7EA200f06c17cB9f64A3c8973a76DD8359fd68FA"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0xE143DbAEC892cEf2Af836dB49870A0Bcf9d5E6A1"
]
}
],
"description": "Escrow and dispatcher for external calls attached to DLN orders: it receives the taker's funds of orders that carry calldata and releases them when the calldata is executed by the registered executor, or refunds the order authority on cancellation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DeBridgeRouter",
"isVerified": true,
"address": "eth:0x663DC15D3C1aC63ff12E45Ab68FeA3F0a883C251",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC86ab72dc6da7eF91a96650f3BC23125cD997130"
],
"implementations": [
"eth:0xCe56012E880851baa234cD092aF516A0fcA9CFe3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1647386234,
"transactionHash": "0x8f0d57e6b8090d7fb51e0eb4b05441f33abffa7229e72d86491826572c4ba923",
"implementations": [
"eth:0xF7399C83B12edD1a21aAB250D30CCB4474902688"
]
},
{
"timestamp": 1647855729,
"transactionHash": "0x14a6e854be2f9e8bee48b2c30d5f4a1b0affbf5d0619e6d435bb63c3d9967a25",
"implementations": [
"eth:0x4084FDAA5088427496102a994b079C6018B0d55D"
]
},
{
"timestamp": 1648035756,
"transactionHash": "0x66f5f83371866f46654a42040198c3a53221057eb8b141a4f1793c4ac0adff70",
"implementations": [
"eth:0x069820f4828dC7ADE62a549e007A018E4A7c9E41"
]
},
{
"timestamp": 1651821943,
"transactionHash": "0xb2e03a93ad55ce3d348d54b7754f92b958e881985c64d5085aa9211667c66db0",
"implementations": [
"eth:0x8ACA115f66B9E1c5411757fe01a5E9E59bC5B612"
]
},
{
"timestamp": 1656544607,
"transactionHash": "0x96d253b49e32869f11a0a4c836151f4918963ecd44d795235898e2a741276165",
"implementations": [
"eth:0xbeb2b37D6f2DdB463e2154Bd34C5229386960ac0"
]
},
{
"timestamp": 1661713828,
"transactionHash": "0x3c720600e3f74aec8bf944adc034025d5f074492d24e936160d87c1fcb123318",
"implementations": [
"eth:0x777c22F63A83ee27D375865C65AfdaBaf96e213a"
]
},
{
"timestamp": 1671133091,
"transactionHash": "0xdd3506ddba7b564a441499bd3859c0e0fed34690a2747df7f44e7b069beb9207",
"implementations": [
"eth:0xd095A2B84E80532cEF267dEf3561DD66e5414946"
]
},
{
"timestamp": 1697470559,
"transactionHash": "0x609ef19a09385ad022a973b6dd98868a56d3354c0cff07eddefb4599327adf44",
"implementations": [
"eth:0xE67534A9F24cc000f467EAA17f920BF63b87a2Cd"
]
},
{
"timestamp": 1749049283,
"transactionHash": "0x0c4b7189c746fcafd0e3b3c22b124e2575da35777eef74c4ceeea42a954c81ef",
"implementations": [
"eth:0x7C5CC78333960E787B53C4D292320aE64dc68CFA"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0x3c857eD51c8a2747EE8c6F30EdDA5ea0D487CC64"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0xCe56012E880851baa234cD092aF516A0fcA9CFe3"
]
}
],
"description": "Optional periphery router that can swap input tokens via whitelisted DEX routers and forward the proceeds into the DLN contracts (order creation, or order fulfillment on the hardcoded DlnDestination via fillCrossChain) in a single transaction. It does not custody funds across transactions and is not part of the DLN critical path.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"address": "eth:0x6D83EAEb957986FEA14Ff0E88AF23736598e22cc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x368Fa5E37EF1aCefF359Dc2E9DC7393C1CbCC4A3"
],
"implementations": [
"eth:0x4F2f3d3949B37A944A10Bf3C5355d0c827BbaF68"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765183175,
"transactionHash": "0x3c2b659c54b706e3a1ca5d39e32bac118205c416692541f56e496759101820fc",
"implementations": [
"eth:0x4F2f3d3949B37A944A10Bf3C5355d0c827BbaF68"
]
}
],
"description": "Unverified proxy referenced as the feeTreasury of the DeBridgeIntentManager.\n* Roles:\n * **admin**: ; ultimately EOA 15",
"description": "Unverified proxy referenced as the feeTreasury of the DeBridgeIntentManager.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 15",
"upgradableBy": [
{
"id": "EOA-15",
"name": "EOA 15",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xA7b88A746FA457578D5abd6234471f07D895F46b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Admin Multisig",
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xaBAc0E0AB68FC34441b36015bB952cD8f378283F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 15",
"discoveryDrivenData": true
},
{
"name": "ExternalCallExecutor",
"isVerified": false,
"isVerified": true,
"address": "eth:0xAE0361b1C3454b297129e01046057F1D294c7974",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Unverified contract registered as the default executor in the ExternalCallAdapter: it executes external calldata attached to DLN orders.\n",
"description": "The default executor in the ExternalCallAdapter: it executes external calldata attached to DLN orders.\n",
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb54CD1e74f232C6de444464C81f81D13E6978816",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 17",
"discoveryDrivenData": true
},
{
"name": "SimpleFeeProxy",
"isVerified": true,
"address": "eth:0xC2bAC0DB5B18B0c3225581Ba14BD0B448c623636",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0xa1cc7E623423169e1C10e6e5CC8Ae6f1d11042DE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637651844,
"transactionHash": "0xd83a1e2513ffd001193b5d56264f9a3acce5eb31ccd7f122256afa5505c3213d",
"implementations": [
"eth:0x27406EbF0b76923d93b4C6c6224bCaB7fFf11f87"
]
},
{
"timestamp": 1645016006,
"transactionHash": "0x67612f4676f3c141f8360be940caf971519f9bf1265465f94a6c13ed1e64adca",
"implementations": [
"eth:0x37a52ddb753c924f8C914de65ef00b5210Caa83C"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0xa1cc7E623423169e1C10e6e5CC8Ae6f1d11042DE"
]
}
],
"description": "The only contract allowed to withdraw protocol fees accrued in the DeBridgeGate. Fees are paid out directly to the caller of withdrawFees(), so the effective fee destination is whoever holds the FEE_COLLECTOR_ROLE.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **feeCollector**: EOA 3",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC86ab72dc6da7eF91a96650f3BC23125cD997130",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Admin Multisig",
"discoveryDrivenData": true
},
{
"name": "DeBridgeToken",
"isVerified": true,
"address": "eth:0xCAceBE8c354b70Fa6E3107f3F6F699e4Fbb3A98B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation contract for deBridge-wrapped tokens (deTokens). Minting and burning of deTokens is restricted to the MINTER_ROLE, which is held by the DeBridgeGate.\n",
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"address": "eth:0xd2a4cA9DA7B84c16B888df340d96a5a92aA44F07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb54CD1e74f232C6de444464C81f81D13E6978816"
],
"implementations": [
"eth:0x87Da5Cb5Ab2d98d4f0C0c9df195f33d08f6caD59"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761039275,
"transactionHash": "0xd05622c8b766b98e8dcb241b295bd77a831ab2a07bb04a333c94e18e94ea5a4b",
"implementations": [
"eth:0x87Da5Cb5Ab2d98d4f0C0c9df195f33d08f6caD59"
]
}
],
"description": "Unverified proxy holding the INTENT_MANAGER_ROLE on the IntentManagerValidator, allowing it to create DLN orders with custom or zero protocol fees.\n* Roles:\n * **admin**: ; ultimately EOA 17",
"description": "Unverified proxy holding the INTENT_MANAGER_ROLE on the IntentManagerValidator, allowing it to create DLN orders with custom or zero protocol fees.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 17",
"upgradableBy": [
{
"id": "EOA-17",
"name": "EOA 17",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DeBridgeAllowanceHolder",
"isVerified": true,
"address": "eth:0xddddddddd4B6472c5002F95610b194D1161223d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable allowance sink of the deBridge intent system: users approve this contract (directly or as Permit2 spender) so that the upgradeable executor contracts never hold approvals themselves. Its transfer functions carry no intent-level checks: any ALLOWED_SPENDER_ROLE holder can move any approved token from any approver to any recipient.\n* Roles:\n * **allowedSpender**: DeBridgeIntentManager\n * **defaultAdmin**: EOA 15",
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Admin Multisig",
"discoveryDrivenData": true
}
]
},
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
},
"description": "deBridge is a message bridge and lock-and-mint token bridge. Cross-chain submissions are authorized by ECDSA signatures from a fixed validator set (8-of-12 on Ethereum) verified onchain; all core contracts are upgradable by a deBridge multisig without delay.",
"detailedDescription": "# Architecture\n\ndeBridge deploys a central `DeBridgeGate` contract on each supported chain. It combines an arbitrary message bridge and a lock-and-mint token bridge: on an asset's native chain, tokens are locked in the gate escrow; on all other chains, the gate mints and burns deBridge-wrapped tokens (*deTokens*). Optional calldata attached to a transfer is executed by a dedicated `CallProxy` contract, which performs the call from its own address to isolate it from the gate's balances. Asset listing on the native side is permissionless: sending any local ERC20 through the gate auto-registers it (with unlimited transfer caps and no elevated-confirmation threshold until the admin configures them).\n\n# Message lifecycle\n\nA `send()` or `sendMessage()` call locks or burns the asset and emits a *submission* whose ID commits to the bridged asset, source and destination chain IDs, amount, receiver, a gate-wide nonce and — if calldata is attached — the execution fee, flags, fallback address, calldata hash and original sender. The protocol charges a flat native-token fee (currently 0.001 ETH on Ethereum) plus a variable fee (currently 10 bps).\n\nOn the destination chain, claiming is permissionless, but depends on validator signatures: anyone can submit them for a submission ID to `claim()`, earning the optional execution fee as a relayer reward. Attached calldata is forwarded to the `CallProxy` together with the bridged funds.\n\n# Crosschain validation\n\ndeBridge validators observe source chains offchain and sign submission IDs with plain ECDSA keys. The `SignatureVerifier` on the destination chain — callable only by the gate — accepts a submission if at least `minConfirmations` of the registered validator addresses have signed (currently 8 of 12 on Ethereum) and every validator flagged as *required* has signed (currently none is flagged).\n\nTwo additional rate limits exist in the code: transfers above a per-asset amount threshold require an elevated signature count, and a per-block circuit breaker raises the requirement once more than `confirmationThreshold` submissions are approved within one block. As currently configured on Ethereum, both elevated thresholds are set to 3 signatures — below the baseline quorum of 8 — so neither mechanism has any effect. Deploying a deToken for a new asset (`deployNewAsset`) is likewise permissionless but requires the same validator quorum over the asset's metadata.\n\n# Wrapped tokens (deTokens)\n\ndeTokens are deployed on first use by the `DeBridgeTokenDeployer` (callable only by the gate) as beacon proxies at deterministic addresses. The beacon is the deployer contract itself: its admin can re-point the shared implementation of **all** deTokens on the chain in a single transaction that emits no event. Each deToken grants `MINTER_ROLE` to the gate and both `DEFAULT_ADMIN_ROLE` and `PAUSER_ROLE` to the configured `deBridgeTokenAdmin` (the deBridge multisig on Ethereum), which can therefore pause transfers of any deToken or grant additional minters — i.e. mint unbacked deTokens — without touching the bridge itself.\n\n# Censorship and pausing\n\nThe gate admin can block (and unblock) individual submission IDs, permanently preventing specific already-signed transfers from being claimed, and can toggle entire chains as supported senders or receivers. Pausing is asymmetric: the `GOVMONITORING_ROLE` can pause all sends, claims and deToken deployments unilaterally, while only the `DEFAULT_ADMIN_ROLE` can unpause (on Ethereum, both roles are held by the same multisig).\n\n# Upgradeability and governance\n\nAll core contracts are upgradeable by a 5/8 deBridge multisig, with no timelock or exit window. The same multisig holds the `DEFAULT_ADMIN_ROLE` on all of them, so without an upgrade it can already replace the `SignatureVerifier` (i.e. swap out the entire validation layer), change the validator set and signature thresholds, replace the `CallProxy` and token deployer, redirect fee withdrawal rights, and censor submissions. The gate also has a `feeContractUpdater` slot that can adjust the flat protocol fee automatically (unset on Ethereum).\n\n# Monitoring\n\ndeBridge provides an [explorer](https://app.debridge.finance/explorer) for tracking crosschain transfers, and the gate emits dedicated `MonitoringSendEvent`/`MonitoringClaimEvent` events carrying the locked/minted totals as an offchain solvency-tracking aid. However, many security-relevant admin functions (replacing the signature verifier, changing signature thresholds or amount thresholds, re-pointing the deToken beacon implementation, setting the fee proxy or fee discounts) emit no events at all, so they can only be caught by storage diffing.",
"name": "deBridge",
"permissions": {
"ethereum": {
"roles": [],
"actors": [
{
"id": "Admin Multisig",
"name": "Admin Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * DeBridgeGate [via: ProxyAdmin]\n * ExternalCallAdapter [via: ProxyAdmin]\n * DeBridgeRouter [via: ProxyAdmin]\n * DeBridgeTokenDeployer [via: ProxyAdmin]\n * CallProxy [via: ProxyAdmin]\n * SignatureVerifier [via: ProxyAdmin]\n * SimpleFeeProxy [via: ProxyAdmin]\n * DlnDestination [via: ProxyAdmin]\n * DlnSource [via: ProxyAdmin]\n* Can interact with DeBridgeGate\n * pause the DeBridgeGate, stopping all sends, claims and deToken deployments on this chain (only the admin can unpause) \n * replace the SignatureVerifier (and with it the entire validation layer of the deBridge messaging protocol), the CallProxy and the deToken deployer, censor individual submissions (blockSubmission), toggle supported chains, set all fees and per-address fee discounts, designate the fee withdrawal contract, unpause the gate, and grant/revoke all roles. Most of these setters emit no events \n* Can interact with ExternalCallAdapter\n * replace the executor contract that handles external calldata of DLN orders and pause the adapter \n* Can interact with DeBridgeRouter\n * manage the whitelist of swap routers and forwarding targets this contract may call with arbitrary calldata (and grant infinite token approvals to), set the service fee and fee treasury, and sweep any funds held by the router \n* Can interact with DeBridgeTokenDeployer\n * administer all deployed deTokens: pause their transfers and grant/revoke minter rights, including the ability to grant itself the right to mint unbacked deTokens \n * replace the implementation of all deTokens at once (this contract acts as their beacon), change the admin assigned to newly deployed deTokens, and override deToken names/symbols. None of these setters emit events \n* Can interact with CallProxy\n * grant and revoke the DEBRIDGE_GATE_ROLE that authorizes contracts to execute arbitrary external calls through the CallProxy \n* Can interact with SignatureVerifier\n * add and remove deBridge validators (oracles), change all signature thresholds (quorum must remain a majority of the oracle set), and re-point the gate contract allowed to request verification. Threshold changes emit no events \n* Can interact with SimpleFeeProxy\n * grant/revoke the FEE_COLLECTOR_ROLE that receives all deBridge protocol fees, pause fee withdrawals, and change the referenced gate contract \n* Can interact with DlnDestination\n * set the trusted DlnSource address (message receiver) for each supported chain, replace the external call adapter that custodies funds of orders with attached calldata, unpause the contract, and grant/revoke all roles \n* Can interact with DlnSource\n * set the trusted DlnDestination address for each supported chain (a malicious address there can drain all escrowed order funds via forged unlock messages), change DLN fees without upper bound, unpause the contract, and grant/revoke all roles ",
"accounts": [
{
"address": "eth:0x6bec1faF33183e1Bc316984202eCc09d46AC92D5",
"type": "Contract",
"isVerified": true,
"name": "0x6bec…92D5",
"url": "https://etherscan.io/address/0x6bec1faF33183e1Bc316984202eCc09d46AC92D5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xbA7cE717928A6C51ab530aD9AdB69bA6E76D09B5",
"type": "EOA",
"isVerified": true,
"name": "0xbA7c…09B5",
"url": "https://etherscan.io/address/0xbA7cE717928A6C51ab530aD9AdB69bA6E76D09B5"
},
{
"address": "eth:0xC351f905d810Cb33c54fE771e1bE4ec5A5048c2D",
"type": "EOA",
"isVerified": true,
"name": "0xC351…8c2D",
"url": "https://etherscan.io/address/0xC351f905d810Cb33c54fE771e1bE4ec5A5048c2D"
},
{
"address": "eth:0xD4Aa80C7a35B2C996Ef3F83baf91D5721c86dA2C",
"type": "EOA",
"isVerified": true,
"name": "0xD4Aa…dA2C",
"url": "https://etherscan.io/address/0xD4Aa80C7a35B2C996Ef3F83baf91D5721c86dA2C"
},
{
"address": "eth:0x874B1d14bF4FE455C9eCAcDf66b629e10664c6E1",
"type": "EOA",
"isVerified": true,
"name": "0x874B…c6E1",
"url": "https://etherscan.io/address/0x874B1d14bF4FE455C9eCAcDf66b629e10664c6E1"
},
{
"address": "eth:0xE9666D80e5617bA1470E2cA09F2D9B0C8CCd56B7",
"type": "EOA",
"isVerified": true,
"name": "0xE966…56B7",
"url": "https://etherscan.io/address/0xE9666D80e5617bA1470E2cA09F2D9B0C8CCd56B7"
},
{
"address": "eth:0x6f572a24c5C009fC8C844Fab5352edf79F132FBD",
"type": "EOA",
"isVerified": true,
"name": "0x6f57…2FBD",
"url": "https://etherscan.io/address/0x6f572a24c5C009fC8C844Fab5352edf79F132FBD"
},
{
"address": "eth:0xd725E456D5beD8275E297C4Dd11135e3C5cDe544",
"type": "EOA",
"isVerified": true,
"name": "0xd725…e544",
"url": "https://etherscan.io/address/0xd725E456D5beD8275E297C4Dd11135e3C5cDe544"
},
{
"address": "eth:0x24C0E1C19c8eC997b781dF4B4A0f812aE9667c96",
"type": "EOA",
"isVerified": true,
"name": "0x24C0…7c96",
"url": "https://etherscan.io/address/0x24C0E1C19c8eC997b781dF4B4A0f812aE9667c96"
}
],
"discoveryDrivenData": true
},
{
"id": "DeBridgeIntentManager",
"name": "DeBridgeIntentManager",
"accounts": [
{
"address": "eth:0xDDDDDDDdeB2E68Ee19832e356FCB5537124A9708",
"type": "Contract",
"isVerified": true,
"name": "0xDDDD…9708",
"url": "https://etherscan.io/address/0xDDDDDDDdeB2E68Ee19832e356FCB5537124A9708"
}
],
"chain": "ethereum",
"description": "Fills user-signed intents by creating DLN orders on their behalf: it pulls input tokens from users through the DeBridgeAllowanceHolder (Permit2 or direct approvals) and forwards them into DlnSource in the same transaction, charging a variable fee that is NOT part of the user-signed intent. It is non-custodial in steady state. Note that the EIP-712 signature users sign covers only an opaque intent hash, and fills are permissionless unless the intent restricts senders.\n* Can interact with DeBridgeAllowanceHolder\n * unconditionally transfer any amount of any token from any user who approved the DeBridgeAllowanceHolder (directly or via Permit2) to any recipient, and make arbitrary calls from its address ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x0746e7e4d15F30885616B4ac3D274393354E80c0",
"type": "EOA",
"isVerified": true,
"name": "0x0746…80c0",
"url": "https://etherscan.io/address/0x0746e7e4d15F30885616B4ac3D274393354E80c0",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DlnDestination\n * force-cancel any not-yet-fulfilled order that has a cancel beneficiary set by its maker (refunds can only go to that maker-designated address) ",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-11,-EOA-12,-EOA-13-and-EOA-14",
"name": "EOA 2, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9, EOA 10, EOA 11, EOA 12, EOA 13 and EOA 14",
"accounts": [
{
"address": "eth:0x1c0720B124e7251e881a0fbCfe259d085C59f205",
"type": "EOA",
"isVerified": true,
"name": "0x1c07…f205",
"url": "https://etherscan.io/address/0x1c0720B124e7251e881a0fbCfe259d085C59f205",
"displayName": "EOA 2"
},
{
"address": "eth:0x4bC16662A2cE381E7bb54Dc577c05619C5E67526",
"type": "EOA",
"isVerified": true,
"name": "0x4bC1…7526",
"url": "https://etherscan.io/address/0x4bC16662A2cE381E7bb54Dc577c05619C5E67526",
"displayName": "EOA 4"
},
{
"address": "eth:0x4CA2191cDE585d65EB6AFC09D23D60b8A0AB677D",
"type": "EOA",
"isVerified": true,
"name": "0x4CA2…677D",
"url": "https://etherscan.io/address/0x4CA2191cDE585d65EB6AFC09D23D60b8A0AB677D",
"displayName": "EOA 5"
},
{
"address": "eth:0x573F5E2940789B378BA09cf7d3fD010C422a9ff5",
"type": "EOA",
"isVerified": true,
"name": "0x573F…9ff5",
"url": "https://etherscan.io/address/0x573F5E2940789B378BA09cf7d3fD010C422a9ff5",
"displayName": "EOA 6"
},
{
"address": "eth:0x59CE95b8955F0E7Be128d5Af77161B36f6084214",
"type": "EOA",
"isVerified": true,
"name": "0x59CE…4214",
"url": "https://etherscan.io/address/0x59CE95b8955F0E7Be128d5Af77161B36f6084214",
"displayName": "EOA 7"
},
{
"address": "eth:0x6436BBcA322b8cD0c56d8b9aD7837b13960dA426",
"type": "EOA",
"isVerified": true,
"name": "0x6436…A426",
"url": "https://etherscan.io/address/0x6436BBcA322b8cD0c56d8b9aD7837b13960dA426",
"displayName": "EOA 8"
},
{
"address": "eth:0x83f81E7f9E284AAFFEDED797008663595f7342bF",
"type": "EOA",
"isVerified": true,
"name": "0x83f8…42bF",
"url": "https://etherscan.io/address/0x83f81E7f9E284AAFFEDED797008663595f7342bF",
"displayName": "EOA 9"
},
{
"address": "eth:0x874f46124C1DAaD4749B94f82eD142754826240E",
"type": "EOA",
"isVerified": true,
"name": "0x874f…240E",
"url": "https://etherscan.io/address/0x874f46124C1DAaD4749B94f82eD142754826240E",
"displayName": "EOA 10"
},
{
"address": "eth:0xbCF516826eD7F3b0E487C7ca6A87b3b4EccDD4DC",
"type": "EOA",
"isVerified": true,
"name": "0xbCF5…D4DC",
"url": "https://etherscan.io/address/0xbCF516826eD7F3b0E487C7ca6A87b3b4EccDD4DC",
"displayName": "EOA 11"
},
{
"address": "eth:0xDD523FD4DebcF0dB6f0B2c2D30D075CaaeE023e0",
"type": "EOA",
"isVerified": true,
"name": "0xDD52…23e0",
"url": "https://etherscan.io/address/0xDD523FD4DebcF0dB6f0B2c2D30D075CaaeE023e0",
"displayName": "EOA 12"
},
{
"address": "eth:0xebec9bc53f9C65f69DB8591B9f240BbCDb563c54",
"type": "EOA",
"isVerified": true,
"name": "0xebec…3c54",
"url": "https://etherscan.io/address/0xebec9bc53f9C65f69DB8591B9f240BbCDb563c54",
"displayName": "EOA 13"
},
{
"address": "eth:0xf27Af436A6F2d9C64B4CA40a483eC46acDc33fe8",
"type": "EOA",
"isVerified": true,
"name": "0xf27A…3fe8",
"url": "https://etherscan.io/address/0xf27Af436A6F2d9C64B4CA40a483eC46acDc33fe8",
"displayName": "EOA 14"
}
],
"chain": "ethereum",
"description": "* Can interact with SignatureVerifier\n * sign cross-chain submissions as a deBridge validator. A quorum of these signers can authorize arbitrary messages, mint deTokens and unlock collateral from the deBridge gate on this chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x391276932b5105C2DB8eE928dfd8872564d6d246",
"type": "EOA",
"isVerified": true,
"name": "0x3912…d246",
"url": "https://etherscan.io/address/0x391276932b5105C2DB8eE928dfd8872564d6d246",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with SimpleFeeProxy\n * withdraw all protocol fees accrued in the DeBridgeGate to itself \n* Can interact with DlnSource\n * withdraw accumulated DLN protocol fees (not user principal) to itself ",
"discoveryDrivenData": true
},
{
"id": "EOA-15",
"name": "EOA 15",
"accounts": [
{
"address": "eth:0x844e5bd15b32B9F2245205AE59C9c6f5Fc696444",
"type": "EOA",
"isVerified": true,
"name": "0x844e…6444",
"url": "https://etherscan.io/address/0x844e5bd15b32B9F2245205AE59C9c6f5Fc696444",
"displayName": "EOA 15"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * [via: ]\n * DeBridgeIntentManager [via: ]\n* Can interact with DeBridgeAllowanceHolder\n * grant and revoke the ALLOWED_SPENDER_ROLE, i.e. authorize any address (including itself) to spend all outstanding user approvals of the deBridge intent system \n* Can interact with DeBridgeIntentManager\n * set intent fill fees up to 100% with immediate effect (fees are not part of the user-signed intent), manage the trusted solver set, sweep funds held by the contract, and grant/revoke all roles ",
"description": "* Can upgrade **with no delay**\n * [via: ProxyAdmin]\n * DeBridgeIntentManager [via: ProxyAdmin]\n* Can interact with DeBridgeAllowanceHolder\n * grant and revoke the ALLOWED_SPENDER_ROLE, i.e. authorize any address (including itself) to spend all outstanding user approvals of the deBridge intent system \n* Can interact with DeBridgeIntentManager\n * set intent fill fees up to 100% with immediate effect (fees are not part of the user-signed intent), manage the trusted solver set, sweep funds held by the contract, and grant/revoke all roles ",
"discoveryDrivenData": true
},
{
"id": "EOA-16",
"name": "EOA 16",
"accounts": [
{
"address": "eth:0xbda458dfc28021dEbD72060671Fc350fA5CB39e5",
"type": "EOA",
"isVerified": true,
"name": "0xbda4…39e5",
"url": "https://etherscan.io/address/0xbda458dfc28021dEbD72060671Fc350fA5CB39e5",
"displayName": "EOA 16"
}
],
"chain": "ethereum",
"description": "* Can interact with IntentManagerValidator\n * grant and revoke the INTENT_MANAGER_ROLE that allows creating DLN orders with custom or zero protocol fees ",
"discoveryDrivenData": true
},
{
"id": "EOA-17",
"name": "EOA 17",
"accounts": [
{
"address": "eth:0xd6dF82F60a2FE1e61aEc29679bc4954F33D8C1EC",
"type": "EOA",
"isVerified": true,
"name": "0xd6dF…C1EC",
"url": "https://etherscan.io/address/0xd6dF82F60a2FE1e61aEc29679bc4954F33D8C1EC",
"displayName": "EOA 17"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * [via: ]",
"description": "* Can upgrade **with no delay**\n * [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
},
"plugins": [
{
"plugin": "debridge",
"bridgeType": "lockAndMint"
}
],
"type": "other"
}
+13 -13
+13 -13
{
"contracts": {
"addresses": {
"ethereum": [
{
"name": "DeBridgeGate",
"isVerified": true,
"address": "eth:0x43dE2d77BF8027e25dBD179B491e8d64f38398aA",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0x797161BCC625155D2302251404ccB93c2632658e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637595390,
"transactionHash": "0x1f191abb3e293e615df529fef0c7f1f0a9c5a9dacd44154c47df269d2a68d8b8",
"implementations": [
"eth:0xB1A20D1c885fd775df97396397d6f8F07Abdd20D"
]
},
{
"timestamp": 1639666435,
"transactionHash": "0x0cd2756ab739a46f966c013e709225d6e5e8a10f30bc0842b207205f6aa32670",
"implementations": [
"eth:0xFCe0502293dCacbFc2d663f7814b2771dEcfd576"
]
},
{
"timestamp": 1642498197,
"transactionHash": "0x7a4bc7d90aada3516e4fc057714f46e5b25dcaf4c2524e49148f5c317a04b149",
"implementations": [
"eth:0x51bFD427D06B2a5FC3588f9d023994A9f70e0Ce0"
]
},
{
"timestamp": 1645018041,
"transactionHash": "0x361b7193ffb8462e6ccb8a6237cbbf67f3367a08a9e8f781ac245f8b72c5783c",
"implementations": [
"eth:0xc8550d85759BAbE6851235212563Fa2Ff04961BF"
]
},
{
"timestamp": 1647346668,
"transactionHash": "0xd71afcf98347af3e96dc8ba6a61c4c9cdbb213e82893639945a1b8d4ab51d9e2",
"implementations": [
"eth:0x24455aa55DED7728783c9474bE8eA2f5C935f8EB"
]
},
{
"timestamp": 1671101939,
"transactionHash": "0x4c0887fede83ae4bb405125f1f08a3e6604ca712ae7c135de79e4595a9b408dd",
"implementations": [
"eth:0x797161BCC625155D2302251404ccB93c2632658e"
]
}
],
"description": "Central hub of the deBridge messaging protocol on this chain: it emits cross-chain submissions (asset transfers and/or arbitrary messages), locks and releases native assets, mints and burns deBridge-wrapped assets (deTokens), and executes claimed submissions after their validator signatures are checked by the SignatureVerifier. Claiming is permissionless: anyone can execute a submission that carries enough validator signatures.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **govMonitoring**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DeBridgeTokenDeployer",
"isVerified": true,
"address": "eth:0x8244d6Ffe0695B30b2bAD424683Ee3bc534Ea464",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0x4c7CA8fcFFE77281A8B81D4580CFf8257d785491"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637613802,
"transactionHash": "0x291ee8bccd951b70182aee107393bc15fe0f12aa49d9759b196040f8c7ba219b",
"implementations": [
"eth:0x4c7CA8fcFFE77281A8B81D4580CFf8257d785491"
]
}
],
"description": "Deploys deBridge-wrapped token (deToken) contracts when an asset is bridged to this chain for the first time (callable only by the DeBridgeGate). All deTokens are beacon proxies whose beacon is this contract itself, so its tokenImplementation applies to every deToken on this chain at once.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **deBridgeTokenAdmin**: Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "CallProxy",
"isVerified": true,
"address": "eth:0x8a0C79F5532f3b2a16AD1E4282A5DAF81928a824",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0xBd3d657AE87671eC6f8D6272A9f431a7c4a9B6f8"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637625277,
"transactionHash": "0x36e5d0f595838f33403445a5570b731087b16f2d7cb133aeb584f1ac1d444e3d",
"implementations": [
"eth:0x4e446b6Cf4d127827c83Ca0c848Db0B43841c391"
]
},
{
"timestamp": 1642498322,
"transactionHash": "0xc3bf11577e383e1292663bd254b218f4c4f4d9dd682a6d51f2a7149eb0991420",
"implementations": [
"eth:0xd5317E82BFEFf70b4773f0fcab5e2ABFA3c7D63b"
]
},
{
"timestamp": 1645016104,
"transactionHash": "0x580899ecfd63515c52fec86f09211a5c68fc6945256cd13ef45f5e4fc8aaba61",
"implementations": [
"eth:0x752A9e96e8683400ae238270C97c1D0160861fEF"
]
},
{
"timestamp": 1651500522,
"transactionHash": "0x6d3f1f876d002a58b8c95bc7ebcbd107bae9d1474e9e92125d83b4bec578a2da",
"implementations": [
"eth:0x0C4B79205F6Cc20c0E0201b61b99e77F3CE3B67A"
]
},
{
"timestamp": 1652966679,
"transactionHash": "0x883ba2edf63b460976d0de98a7089f3ea4d0a26257cfeb94af96d557e8e02f25",
"implementations": [
"eth:0xe5a04b307B31Af07F4DfCaA840952Ff7d3845c7e"
]
},
{
"timestamp": 1653739487,
"transactionHash": "0xd5a418a542f27929f6bbf34f70ce62607626d83b8503bda49bcef3e5e0591ce9",
"implementations": [
"eth:0xBd3d657AE87671eC6f8D6272A9f431a7c4a9B6f8"
]
}
],
"description": "Sandbox that executes arbitrary calldata attached to claimed cross-chain submissions on behalf of the DeBridgeGate. Calls are performed from this contract's address with attacker-choosable target and data, so external contracts must never trust it as a caller; it isolates such calls from the gate's balances.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "SignatureVerifier",
"isVerified": true,
"address": "eth:0x949b3B3c098348b879C9e4F15cecc8046d9C8A8c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0xfE7De3c1e1BD252C67667B56347cABFC6df08dF4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637621914,
"transactionHash": "0xd8f65ce63f16eefd8816d0faa6c975cb1422ef4d6bbb58bd8e7507fb27b2dc5f",
"implementations": [
"eth:0x2a3e72eD893b5958690e16c3BBe1BD92137b6250"
]
},
{
"timestamp": 1639739366,
"transactionHash": "0x190291e3c01fd074908fb41309a0438c8458d7b7f0f659dcfc5d9dbb5ea3807f",
"implementations": [
"eth:0xfE7De3c1e1BD252C67667B56347cABFC6df08dF4"
]
}
],
"description": "Validation layer of the deBridge messaging protocol on this chain: it accepts a cross-chain submission if at least minConfirmations of the registered validators (oracles) have signed its submission ID with a plain ECDSA signature, and every validator flagged as 'required' has signed. There is no other proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **oracleAddresses**: EOA 10, EOA 11, EOA 12, EOA 13, EOA 14, EOA 2, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DlnDestination",
"isVerified": true,
"address": "eth:0xE7351Fd770A37282b91D153Ee690B63579D6dd7f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA7b88A746FA457578D5abd6234471f07D895F46b"
],
"implementations": [
"eth:0xD9b4f9CacFFB59F2B982ad3c45096e3AA4B4020e"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1670855123,
"transactionHash": "0xd606c6f939028171d2b15a50ac3af8f87d21a5623730d4ed45e5771980819393",
"implementations": [
"eth:0x60E50145db18e09fF2bB277e88D3C264FF57b91f"
]
},
{
"timestamp": 1692616259,
"transactionHash": "0xb7d8cfb77cd7ee0be426477583ed4597fe238e699cd690bdaf882371b9f98f0e",
"implementations": [
"eth:0x177c8AeDc61EFc47DE70616C89464c5d2A56E4AB"
]
},
{
"timestamp": 1692865787,
"transactionHash": "0xeada1e2b8eb5ca1dca54b7cd4e41c87dee29b6c9841fd05edd39f126edd8e539",
"implementations": [
"eth:0x979791C607a388702690599120c46332f61f592C"
]
},
{
"timestamp": 1694190863,
"transactionHash": "0xce0ae6434e2eca80d8a4efbfbe15f1fa7f9c8b32f4452fda42dcd9e34b9fef16",
"implementations": [
"eth:0x33B72F60F2CEB7BDb64873Ac10015a35bed81717"
]
},
{
"timestamp": 1770984515,
"transactionHash": "0xf187915dcb7b435138135f96d4a9bf6f606255d5247b00f0282afd2516bc02d2",
"implementations": [
"eth:0xE540eb6BfEE129d28d47E26Ad33a138d66FD78f5"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0xD9b4f9CacFFB59F2B982ad3c45096e3AA4B4020e"
]
}
],
"description": "Destination side of the deBridge Liquidity Network (DLN) intent protocol: takers fulfill orders here permissionlessly by paying the 'take' amount, which is forwarded to the order recipient in the same transaction (this contract holds no user funds). The taker then sends an unlock message back to the source chain's DlnSource through the deBridge messaging protocol to claim the escrowed maker funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **govCancel**: EOA 1",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DlnSource",
"isVerified": true,
"address": "eth:0xeF4fB24aD0916217251F553c0596F8Edc630EB66",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA7b88A746FA457578D5abd6234471f07D895F46b"
],
"implementations": [
"eth:0x2b426a0Ac391490e88d15B304436e7a84Df78611"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1670855039,
"transactionHash": "0x45e08da232b5aea7adc3aaccd8ba54ced78667d11fc356eb46bce459a5289c85",
"implementations": [
"eth:0x95c99EA6D7e72e99F18049019a427A4a17C53A30"
]
},
{
"timestamp": 1694190863,
"transactionHash": "0xce0ae6434e2eca80d8a4efbfbe15f1fa7f9c8b32f4452fda42dcd9e34b9fef16",
"implementations": [
"eth:0x7Ec2E51A9c4f088354aD8Ad8703C12D81BF21677"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0xbF20cB9614a0059bBe4b599d1D04358aFe31eDfb"
]
},
{
"timestamp": 1757936831,
"transactionHash": "0xf1d50e3b14cf974394d925c71087896c185c14c9e79506744a9fd57d5f2aa738",
"implementations": [
"eth:0xe13a85137f8752AbE4c5A614Dc3BaF396b00308D"
]
},
{
"timestamp": 1765204811,
"transactionHash": "0x25b20353a5814918c4c569e1f9e8fede74138c9b7ab2043428a60f1c632d0ce6",
"implementations": [
"eth:0x322B481088143d9Ff74e4169Fb7f12F7808690DF"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0x2b426a0Ac391490e88d15B304436e7a84Df78611"
]
}
],
"description": "Source-side escrow of the deBridge Liquidity Network (DLN) intent protocol: users lock the 'give' funds of a cross-chain order directly in this contract. Funds are released to the taker (claimUnlock) or refunded to the maker (claimCancel) only on a message from the DlnDestination configured for the order's destination chain, authenticated via the CallProxy of the deBridge messaging protocol (i.e. ultimately by deBridge validator signatures).\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **feeCollector**: EOA 3",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x368Fa5E37EF1aCefF359Dc2E9DC7393C1CbCC4A3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 15",
"discoveryDrivenData": true
},
{
"name": "IntentManagerValidator",
"isVerified": true,
"address": "eth:0x4247c6f71407359E4C8D29787E98D752F264CD4b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable allowlist contract referenced by DlnSource: addresses holding the INTENT_MANAGER_ROLE can create DLN orders with custom or zero protocol fees. It grants no access to existing funds.\n* Roles:\n * **defaultAdmin**: EOA 16",
"discoveryDrivenData": true
},
{
"name": "ExternalCallAdapter",
"isVerified": true,
"address": "eth:0x61eF2e01E603aEB5Cd96F9eC9AE76cc6A68f6cF9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xA7b88A746FA457578D5abd6234471f07D895F46b"
],
"implementations": [
"eth:0xE143DbAEC892cEf2Af836dB49870A0Bcf9d5E6A1"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694079551,
"transactionHash": "0x39c864edd3630cf628c32b5d52f5a6f17348a27f6a906698bf0a4f4f6cfa0701",
"implementations": [
"eth:0x5706875cef89AB69E818D4921a47D0d2663D2728"
]
},
{
"timestamp": 1697470559,
"transactionHash": "0x609ef19a09385ad022a973b6dd98868a56d3354c0cff07eddefb4599327adf44",
"implementations": [
"eth:0xA85437470f38F004C2F4b0D75d282E47bF555a3a"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0x7EA200f06c17cB9f64A3c8973a76DD8359fd68FA"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0xE143DbAEC892cEf2Af836dB49870A0Bcf9d5E6A1"
]
}
],
"description": "Escrow and dispatcher for external calls attached to DLN orders: it receives the taker's funds of orders that carry calldata and releases them when the calldata is executed by the registered executor, or refunds the order authority on cancellation.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DeBridgeRouter",
"isVerified": true,
"address": "eth:0x663DC15D3C1aC63ff12E45Ab68FeA3F0a883C251",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xC86ab72dc6da7eF91a96650f3BC23125cD997130"
],
"implementations": [
"eth:0xCe56012E880851baa234cD092aF516A0fcA9CFe3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1647386234,
"transactionHash": "0x8f0d57e6b8090d7fb51e0eb4b05441f33abffa7229e72d86491826572c4ba923",
"implementations": [
"eth:0xF7399C83B12edD1a21aAB250D30CCB4474902688"
]
},
{
"timestamp": 1647855729,
"transactionHash": "0x14a6e854be2f9e8bee48b2c30d5f4a1b0affbf5d0619e6d435bb63c3d9967a25",
"implementations": [
"eth:0x4084FDAA5088427496102a994b079C6018B0d55D"
]
},
{
"timestamp": 1648035756,
"transactionHash": "0x66f5f83371866f46654a42040198c3a53221057eb8b141a4f1793c4ac0adff70",
"implementations": [
"eth:0x069820f4828dC7ADE62a549e007A018E4A7c9E41"
]
},
{
"timestamp": 1651821943,
"transactionHash": "0xb2e03a93ad55ce3d348d54b7754f92b958e881985c64d5085aa9211667c66db0",
"implementations": [
"eth:0x8ACA115f66B9E1c5411757fe01a5E9E59bC5B612"
]
},
{
"timestamp": 1656544607,
"transactionHash": "0x96d253b49e32869f11a0a4c836151f4918963ecd44d795235898e2a741276165",
"implementations": [
"eth:0xbeb2b37D6f2DdB463e2154Bd34C5229386960ac0"
]
},
{
"timestamp": 1661713828,
"transactionHash": "0x3c720600e3f74aec8bf944adc034025d5f074492d24e936160d87c1fcb123318",
"implementations": [
"eth:0x777c22F63A83ee27D375865C65AfdaBaf96e213a"
]
},
{
"timestamp": 1671133091,
"transactionHash": "0xdd3506ddba7b564a441499bd3859c0e0fed34690a2747df7f44e7b069beb9207",
"implementations": [
"eth:0xd095A2B84E80532cEF267dEf3561DD66e5414946"
]
},
{
"timestamp": 1697470559,
"transactionHash": "0x609ef19a09385ad022a973b6dd98868a56d3354c0cff07eddefb4599327adf44",
"implementations": [
"eth:0xE67534A9F24cc000f467EAA17f920BF63b87a2Cd"
]
},
{
"timestamp": 1749049283,
"transactionHash": "0x0c4b7189c746fcafd0e3b3c22b124e2575da35777eef74c4ceeea42a954c81ef",
"implementations": [
"eth:0x7C5CC78333960E787B53C4D292320aE64dc68CFA"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0x3c857eD51c8a2747EE8c6F30EdDA5ea0D487CC64"
]
},
{
"timestamp": 1786962035,
"transactionHash": "0x30e7e8dac55cb6f8ac7b7cc81c9132f01acb5fbb87ed1f44b568183518670fbb",
"implementations": [
"eth:0xCe56012E880851baa234cD092aF516A0fcA9CFe3"
]
}
],
"description": "Optional periphery router that can swap input tokens via whitelisted DEX routers and forward the proceeds into the DLN contracts (order creation, or order fulfillment on the hardcoded DlnDestination via fillCrossChain) in a single transaction. It does not custody funds across transactions and is not part of the DLN critical path.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"address": "eth:0x6D83EAEb957986FEA14Ff0E88AF23736598e22cc",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x368Fa5E37EF1aCefF359Dc2E9DC7393C1CbCC4A3"
],
"implementations": [
"eth:0x4F2f3d3949B37A944A10Bf3C5355d0c827BbaF68"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1765183175,
"transactionHash": "0x3c2b659c54b706e3a1ca5d39e32bac118205c416692541f56e496759101820fc",
"implementations": [
"eth:0x4F2f3d3949B37A944A10Bf3C5355d0c827BbaF68"
]
}
],
"description": "Unverified proxy referenced as the feeTreasury of the DeBridgeIntentManager.\n* Roles:\n * **admin**: ; ultimately EOA 15",
"description": "Unverified proxy referenced as the feeTreasury of the DeBridgeIntentManager.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 15",
"upgradableBy": [
{
"id": "EOA-15",
"name": "EOA 15",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xA7b88A746FA457578D5abd6234471f07D895F46b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Admin Multisig",
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xaBAc0E0AB68FC34441b36015bB952cD8f378283F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 15",
"discoveryDrivenData": true
},
{
"name": "ExternalCallExecutor",
"isVerified": false,
"isVerified": true,
"address": "eth:0xAE0361b1C3454b297129e01046057F1D294c7974",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Unverified contract registered as the default executor in the ExternalCallAdapter: it executes external calldata attached to DLN orders.\n",
"description": "The default executor in the ExternalCallAdapter: it executes external calldata attached to DLN orders.\n",
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb54CD1e74f232C6de444464C81f81D13E6978816",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 17",
"discoveryDrivenData": true
},
{
"name": "SimpleFeeProxy",
"isVerified": true,
"address": "eth:0xC2bAC0DB5B18B0c3225581Ba14BD0B448c623636",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe"
],
"implementations": [
"eth:0xa1cc7E623423169e1C10e6e5CC8Ae6f1d11042DE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1637651844,
"transactionHash": "0xd83a1e2513ffd001193b5d56264f9a3acce5eb31ccd7f122256afa5505c3213d",
"implementations": [
"eth:0x27406EbF0b76923d93b4C6c6224bCaB7fFf11f87"
]
},
{
"timestamp": 1645016006,
"transactionHash": "0x67612f4676f3c141f8360be940caf971519f9bf1265465f94a6c13ed1e64adca",
"implementations": [
"eth:0x37a52ddb753c924f8C914de65ef00b5210Caa83C"
]
},
{
"timestamp": 1752663335,
"transactionHash": "0x2891ca2643f9cb857b006952744b633088f22b57a8a04495abec7b79a500f1e3",
"implementations": [
"eth:0xa1cc7E623423169e1C10e6e5CC8Ae6f1d11042DE"
]
}
],
"description": "The only contract allowed to withdraw protocol fees accrued in the DeBridgeGate. Fees are paid out directly to the caller of withdrawFees(), so the effective fee destination is whoever holds the FEE_COLLECTOR_ROLE.\n* Roles:\n * **admin**: ProxyAdmin; ultimately Admin Multisig\n * **defaultAdmin**: Admin Multisig\n * **feeCollector**: EOA 3",
"upgradableBy": [
{
"name": "Admin Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xC86ab72dc6da7eF91a96650f3BC23125cD997130",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Admin Multisig",
"discoveryDrivenData": true
},
{
"name": "DeBridgeToken",
"isVerified": true,
"address": "eth:0xCAceBE8c354b70Fa6E3107f3F6F699e4Fbb3A98B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Implementation contract for deBridge-wrapped tokens (deTokens). Minting and burning of deTokens is restricted to the MINTER_ROLE, which is held by the DeBridgeGate.\n",
"discoveryDrivenData": true
},
{
"name": "",
"isVerified": false,
"address": "eth:0xd2a4cA9DA7B84c16B888df340d96a5a92aA44F07",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xb54CD1e74f232C6de444464C81f81D13E6978816"
],
"implementations": [
"eth:0x87Da5Cb5Ab2d98d4f0C0c9df195f33d08f6caD59"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1761039275,
"transactionHash": "0xd05622c8b766b98e8dcb241b295bd77a831ab2a07bb04a333c94e18e94ea5a4b",
"implementations": [
"eth:0x87Da5Cb5Ab2d98d4f0C0c9df195f33d08f6caD59"
]
}
],
"description": "Unverified proxy holding the INTENT_MANAGER_ROLE on the IntentManagerValidator, allowing it to create DLN orders with custom or zero protocol fees.\n* Roles:\n * **admin**: ; ultimately EOA 17",
"description": "Unverified proxy holding the INTENT_MANAGER_ROLE on the IntentManagerValidator, allowing it to create DLN orders with custom or zero protocol fees.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 17",
"upgradableBy": [
{
"id": "EOA-17",
"name": "EOA 17",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "DeBridgeAllowanceHolder",
"isVerified": true,
"address": "eth:0xddddddddd4B6472c5002F95610b194D1161223d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Immutable allowance sink of the deBridge intent system: users approve this contract (directly or as Permit2 spender) so that the upgradeable executor contracts never hold approvals themselves. Its transfer functions carry no intent-level checks: any ALLOWED_SPENDER_ROLE holder can move any approved token from any approver to any recipient.\n* Roles:\n * **allowedSpender**: DeBridgeIntentManager\n * **defaultAdmin**: EOA 15",
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xE4427af3555CD9303D728C491364FAdFDD7494Fe",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: Admin Multisig",
"discoveryDrivenData": true
}
]
},
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
},
"description": "Intent framework built on top of the deBridge messaging protocol. Maker funds are escrowed in the DlnSource contract on the source chain and released to takers on unlock messages attested by the deBridge validator set.",
"detailedDescription": "# Architecture\n\nThe deBridge Liquidity Network (DLN) is an intent protocol built on top of the deBridge messaging protocol, sharing its validation layer and governance. Users (*makers*) create cross-chain orders by locking their *give* funds directly in the `DlnSource` contract on the source chain. On the destination chain, *takers* fulfill orders through the `DlnDestination` contract by paying the *take* amount, which is forwarded to the recipient within the same transaction, so `DlnDestination` holds no user funds. A protocol fee (currently 0.001 ETH flat plus 4 bps on Ethereum, refunded on cancellation) is deducted from the give amount at order creation.\n\n# Order lifecycle\n\nFulfillment is permissionless — anyone can fill any order unless the maker restricted it — and the filler names an *unlock authority* for the order. Only that unlock authority can later trigger the unlock, which sends a message back to the source chain's `DlnSource` through the `DeBridgeGate`. Once the deBridge validators attest the message, the escrowed give funds are released to the taker's chosen beneficiary.\n\n# Crosschain validation\n\n`DlnSource` releases escrowed funds only to calls from the deBridge `CallProxy` whose authenticated original sender is the `DlnDestination` address configured for the order's destination chain (an admin-set, event-tracked map currently routing to 19 chains). The authenticity of that claim rests entirely on the deBridge validator set: a quorum of validator signatures (currently 8 of 12 on Ethereum) attests each unlock or cancellation message. A compromised validator quorum, or an admin change of the per-chain routing addresses, allows draining all order funds escrowed in `DlnSource`.\n\n# User recovery\n\nUnfilled orders can be cancelled from the destination chain by the maker-designated order authority, refunding the full escrow to the maker on the source chain. A `GOVERNANCE_DELEGATED_ORDER_CANCEL_ROLE` can force-cancel unfulfilled orders on behalf of makers, but refunds can only go to a maker-designated address, making it a liveness rather than a theft power. Fulfilled orders cannot be cancelled.\n\n# External calls\n\nOrders can carry calldata to be executed on the destination chain after fulfillment. In that case the taker's funds are routed to an `ExternalCallAdapter` escrow, which releases them when the registered executor contract runs the calldata or refunds the order authority on cancellation. The adapter is admin-replaceable in `DlnDestination`, so a malicious adapter could steal the funds of every order carrying calldata.\n\n# Intents\n\nA newer intent-manager stack automates order creation: users sign an EIP-712 *intent* offchain — the signature covers only an opaque 32-byte intent hash, so wallets cannot display the actual constraints — and permissionless fillers turn intents into DLN orders through the `DeBridgeIntentManager`. There is no signature nonce; an intent is multi-fill until its budget is exhausted, expired, cancelled or nullified. Input tokens are pulled through the `DeBridgeAllowanceHolder`, the single immutable contract holding all user approvals of the intent system: its transfer functions carry no intent-level checks, so any holder of its `ALLOWED_SPENDER_ROLE` can move any approved token from any approver to any recipient. All user protection lives in the constraints of the signed intent itself (price bounds, allowed senders, receivers, budgets); the fill fee is *not* part of the signed intent and is set by the intent manager admin.\n\n# Upgradeability and governance\n\n`DlnSource` (which escrows all in-flight maker funds), `DlnDestination` and the `ExternalCallAdapter` are upgradeable by the same 5/8 deBridge multisig that governs the messaging protocol, with no timelock or exit window. The multisig also holds the `DEFAULT_ADMIN_ROLE` on both DLN contracts, controlling the trusted cross-chain routing addresses, fees, the external call adapter, and unpausing. The intent-manager stack has a weaker setup: on Ethereum, a single EOA is simultaneously the admin of `DeBridgeIntentManager` and `DeBridgeAllowanceHolder` and the owner of the ProxyAdmin that can upgrade the intent manager — an upgrade there could abuse the allowance holder's spender role to drain all outstanding user approvals. Several satellite contracts (including the `ExternalCallExecutor`) have unverified source code.\n\n# Monitoring\n\nOrder creation, fulfillment, unlock and cancellation all emit events, and the per-chain routing configuration is event-tracked. deBridge provides an [explorer](https://app.debridge.finance/explorer) (DLN trades are labeled as such) for tracking order flow.",
"detailedDescription": "# Architecture\n\nThe deBridge Liquidity Network (DLN) is an intent protocol built on top of the deBridge messaging protocol, sharing its validation layer and governance. Users (*makers*) create cross-chain orders by locking their *give* funds directly in the `DlnSource` contract on the source chain. On the destination chain, *takers* fulfill orders through the `DlnDestination` contract by paying the *take* amount, which is forwarded to the recipient within the same transaction, so `DlnDestination` holds no user funds. A protocol fee (currently 0.001 ETH flat plus 4 bps on Ethereum, refunded on cancellation) is deducted from the give amount at order creation.\n\n# Order lifecycle\n\nFulfillment is permissionless — anyone can fill any order unless the maker restricted it — and the filler names an *unlock authority* for the order. Only that unlock authority can later trigger the unlock, which sends a message back to the source chain's `DlnSource` through the `DeBridgeGate`. Once the deBridge validators attest the message, the escrowed give funds are released to the taker's chosen beneficiary.\n\n# Crosschain validation\n\n`DlnSource` releases escrowed funds only to calls from the deBridge `CallProxy` whose authenticated original sender is the `DlnDestination` address configured for the order's destination chain (an admin-set, event-tracked map currently routing to 19 chains). The authenticity of that claim rests entirely on the deBridge validator set: a quorum of validator signatures (currently 8 of 12 on Ethereum) attests each unlock or cancellation message. A compromised validator quorum, or an admin change of the per-chain routing addresses, allows draining all order funds escrowed in `DlnSource`.\n\n# User recovery\n\nUnfilled orders can be cancelled from the destination chain by the maker-designated order authority, refunding the full escrow to the maker on the source chain. A `GOVERNANCE_DELEGATED_ORDER_CANCEL_ROLE` can force-cancel unfulfilled orders on behalf of makers, but refunds can only go to a maker-designated address, making it a liveness rather than a theft power. Fulfilled orders cannot be cancelled.\n\n# External calls\n\nOrders can carry calldata to be executed on the destination chain after fulfillment. In that case the taker's funds are routed to an `ExternalCallAdapter` escrow, which releases them when the registered executor contract runs the calldata or refunds the order authority on cancellation. The adapter is admin-replaceable in `DlnDestination`, so a malicious adapter could steal the funds of every order carrying calldata.\n\n# Intents\n\nA newer intent-manager stack automates order creation: users sign an EIP-712 *intent* offchain — the signature covers only an opaque 32-byte intent hash, so wallets cannot display the actual constraints — and permissionless fillers turn intents into DLN orders through the `DeBridgeIntentManager`. There is no signature nonce; an intent is multi-fill until its budget is exhausted, expired, cancelled or nullified. Input tokens are pulled through the `DeBridgeAllowanceHolder`, the single immutable contract holding all user approvals of the intent system: its transfer functions carry no intent-level checks, so any holder of its `ALLOWED_SPENDER_ROLE` can move any approved token from any approver to any recipient. All user protection lives in the constraints of the signed intent itself (price bounds, allowed senders, receivers, budgets); the fill fee is *not* part of the signed intent and is set by the intent manager admin.\n\n# Upgradeability and governance\n\n`DlnSource` (which escrows all in-flight maker funds), `DlnDestination` and the `ExternalCallAdapter` are upgradeable by the same 5/8 deBridge multisig that governs the messaging protocol, with no timelock or exit window. The multisig also holds the `DEFAULT_ADMIN_ROLE` on both DLN contracts, controlling the trusted cross-chain routing addresses, fees, the external call adapter, and unpausing. The intent-manager stack has a weaker setup: on Ethereum, a single EOA is simultaneously the admin of `DeBridgeIntentManager` and `DeBridgeAllowanceHolder` and the owner of the ProxyAdmin that can upgrade the intent manager — an upgrade there could abuse the allowance holder's spender role to drain all outstanding user approvals. Several satellite contracts have unverified source code.\n\n# Monitoring\n\nOrder creation, fulfillment, unlock and cancellation all emit events, and the per-chain routing configuration is event-tracked. deBridge provides an [explorer](https://app.debridge.finance/explorer) (DLN trades are labeled as such) for tracking order flow.",
"intent": {
"color": "#F97316",
"intentModel": {
"value": "Intent framework",
"description": "Users create orders that takers can fulfill."
},
"userRecovery": {
"value": "Order cancellation",
"description": "Unfilled orders can be cancelled through the DLN flow."
},
"solverAccess": {
"value": "Permissionless",
"description": "Order fulfillment is designed around independent takers."
},
"settlement": {
"value": "deBridge messaging",
"description": "Order state and settlement use deBridge infrastructure."
}
},
"permissions": {
"ethereum": {
"roles": [],
"actors": [
{
"id": "Admin Multisig",
"name": "Admin Multisig",
"description": "A Multisig with 5/8 threshold. \n* Can upgrade **with no delay**\n * DeBridgeGate [via: ProxyAdmin]\n * ExternalCallAdapter [via: ProxyAdmin]\n * DeBridgeRouter [via: ProxyAdmin]\n * DeBridgeTokenDeployer [via: ProxyAdmin]\n * CallProxy [via: ProxyAdmin]\n * SignatureVerifier [via: ProxyAdmin]\n * SimpleFeeProxy [via: ProxyAdmin]\n * DlnDestination [via: ProxyAdmin]\n * DlnSource [via: ProxyAdmin]\n* Can interact with DeBridgeGate\n * pause the DeBridgeGate, stopping all sends, claims and deToken deployments on this chain (only the admin can unpause) \n * replace the SignatureVerifier (and with it the entire validation layer of the deBridge messaging protocol), the CallProxy and the deToken deployer, censor individual submissions (blockSubmission), toggle supported chains, set all fees and per-address fee discounts, designate the fee withdrawal contract, unpause the gate, and grant/revoke all roles. Most of these setters emit no events \n* Can interact with ExternalCallAdapter\n * replace the executor contract that handles external calldata of DLN orders and pause the adapter \n* Can interact with DeBridgeRouter\n * manage the whitelist of swap routers and forwarding targets this contract may call with arbitrary calldata (and grant infinite token approvals to), set the service fee and fee treasury, and sweep any funds held by the router \n* Can interact with DeBridgeTokenDeployer\n * administer all deployed deTokens: pause their transfers and grant/revoke minter rights, including the ability to grant itself the right to mint unbacked deTokens \n * replace the implementation of all deTokens at once (this contract acts as their beacon), change the admin assigned to newly deployed deTokens, and override deToken names/symbols. None of these setters emit events \n* Can interact with CallProxy\n * grant and revoke the DEBRIDGE_GATE_ROLE that authorizes contracts to execute arbitrary external calls through the CallProxy \n* Can interact with SignatureVerifier\n * add and remove deBridge validators (oracles), change all signature thresholds (quorum must remain a majority of the oracle set), and re-point the gate contract allowed to request verification. Threshold changes emit no events \n* Can interact with SimpleFeeProxy\n * grant/revoke the FEE_COLLECTOR_ROLE that receives all deBridge protocol fees, pause fee withdrawals, and change the referenced gate contract \n* Can interact with DlnDestination\n * set the trusted DlnSource address (message receiver) for each supported chain, replace the external call adapter that custodies funds of orders with attached calldata, unpause the contract, and grant/revoke all roles \n* Can interact with DlnSource\n * set the trusted DlnDestination address for each supported chain (a malicious address there can drain all escrowed order funds via forged unlock messages), change DLN fees without upper bound, unpause the contract, and grant/revoke all roles ",
"accounts": [
{
"address": "eth:0x6bec1faF33183e1Bc316984202eCc09d46AC92D5",
"type": "Contract",
"isVerified": true,
"name": "0x6bec…92D5",
"url": "https://etherscan.io/address/0x6bec1faF33183e1Bc316984202eCc09d46AC92D5"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xbA7cE717928A6C51ab530aD9AdB69bA6E76D09B5",
"type": "EOA",
"isVerified": true,
"name": "0xbA7c…09B5",
"url": "https://etherscan.io/address/0xbA7cE717928A6C51ab530aD9AdB69bA6E76D09B5"
},
{
"address": "eth:0xC351f905d810Cb33c54fE771e1bE4ec5A5048c2D",
"type": "EOA",
"isVerified": true,
"name": "0xC351…8c2D",
"url": "https://etherscan.io/address/0xC351f905d810Cb33c54fE771e1bE4ec5A5048c2D"
},
{
"address": "eth:0xD4Aa80C7a35B2C996Ef3F83baf91D5721c86dA2C",
"type": "EOA",
"isVerified": true,
"name": "0xD4Aa…dA2C",
"url": "https://etherscan.io/address/0xD4Aa80C7a35B2C996Ef3F83baf91D5721c86dA2C"
},
{
"address": "eth:0x874B1d14bF4FE455C9eCAcDf66b629e10664c6E1",
"type": "EOA",
"isVerified": true,
"name": "0x874B…c6E1",
"url": "https://etherscan.io/address/0x874B1d14bF4FE455C9eCAcDf66b629e10664c6E1"
},
{
"address": "eth:0xE9666D80e5617bA1470E2cA09F2D9B0C8CCd56B7",
"type": "EOA",
"isVerified": true,
"name": "0xE966…56B7",
"url": "https://etherscan.io/address/0xE9666D80e5617bA1470E2cA09F2D9B0C8CCd56B7"
},
{
"address": "eth:0x6f572a24c5C009fC8C844Fab5352edf79F132FBD",
"type": "EOA",
"isVerified": true,
"name": "0x6f57…2FBD",
"url": "https://etherscan.io/address/0x6f572a24c5C009fC8C844Fab5352edf79F132FBD"
},
{
"address": "eth:0xd725E456D5beD8275E297C4Dd11135e3C5cDe544",
"type": "EOA",
"isVerified": true,
"name": "0xd725…e544",
"url": "https://etherscan.io/address/0xd725E456D5beD8275E297C4Dd11135e3C5cDe544"
},
{
"address": "eth:0x24C0E1C19c8eC997b781dF4B4A0f812aE9667c96",
"type": "EOA",
"isVerified": true,
"name": "0x24C0…7c96",
"url": "https://etherscan.io/address/0x24C0E1C19c8eC997b781dF4B4A0f812aE9667c96"
}
],
"discoveryDrivenData": true
},
{
"id": "DeBridgeIntentManager",
"name": "DeBridgeIntentManager",
"accounts": [
{
"address": "eth:0xDDDDDDDdeB2E68Ee19832e356FCB5537124A9708",
"type": "Contract",
"isVerified": true,
"name": "0xDDDD…9708",
"url": "https://etherscan.io/address/0xDDDDDDDdeB2E68Ee19832e356FCB5537124A9708"
}
],
"chain": "ethereum",
"description": "Fills user-signed intents by creating DLN orders on their behalf: it pulls input tokens from users through the DeBridgeAllowanceHolder (Permit2 or direct approvals) and forwards them into DlnSource in the same transaction, charging a variable fee that is NOT part of the user-signed intent. It is non-custodial in steady state. Note that the EIP-712 signature users sign covers only an opaque intent hash, and fills are permissionless unless the intent restricts senders.\n* Can interact with DeBridgeAllowanceHolder\n * unconditionally transfer any amount of any token from any user who approved the DeBridgeAllowanceHolder (directly or via Permit2) to any recipient, and make arbitrary calls from its address ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x0746e7e4d15F30885616B4ac3D274393354E80c0",
"type": "EOA",
"isVerified": true,
"name": "0x0746…80c0",
"url": "https://etherscan.io/address/0x0746e7e4d15F30885616B4ac3D274393354E80c0",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with DlnDestination\n * force-cancel any not-yet-fulfilled order that has a cancel beneficiary set by its maker (refunds can only go to that maker-designated address) ",
"discoveryDrivenData": true
},
{
"id": "EOA-2,-EOA-4,-EOA-5,-EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-10,-EOA-11,-EOA-12,-EOA-13-and-EOA-14",
"name": "EOA 2, EOA 4, EOA 5, EOA 6, EOA 7, EOA 8, EOA 9, EOA 10, EOA 11, EOA 12, EOA 13 and EOA 14",
"accounts": [
{
"address": "eth:0x1c0720B124e7251e881a0fbCfe259d085C59f205",
"type": "EOA",
"isVerified": true,
"name": "0x1c07…f205",
"url": "https://etherscan.io/address/0x1c0720B124e7251e881a0fbCfe259d085C59f205",
"displayName": "EOA 2"
},
{
"address": "eth:0x4bC16662A2cE381E7bb54Dc577c05619C5E67526",
"type": "EOA",
"isVerified": true,
"name": "0x4bC1…7526",
"url": "https://etherscan.io/address/0x4bC16662A2cE381E7bb54Dc577c05619C5E67526",
"displayName": "EOA 4"
},
{
"address": "eth:0x4CA2191cDE585d65EB6AFC09D23D60b8A0AB677D",
"type": "EOA",
"isVerified": true,
"name": "0x4CA2…677D",
"url": "https://etherscan.io/address/0x4CA2191cDE585d65EB6AFC09D23D60b8A0AB677D",
"displayName": "EOA 5"
},
{
"address": "eth:0x573F5E2940789B378BA09cf7d3fD010C422a9ff5",
"type": "EOA",
"isVerified": true,
"name": "0x573F…9ff5",
"url": "https://etherscan.io/address/0x573F5E2940789B378BA09cf7d3fD010C422a9ff5",
"displayName": "EOA 6"
},
{
"address": "eth:0x59CE95b8955F0E7Be128d5Af77161B36f6084214",
"type": "EOA",
"isVerified": true,
"name": "0x59CE…4214",
"url": "https://etherscan.io/address/0x59CE95b8955F0E7Be128d5Af77161B36f6084214",
"displayName": "EOA 7"
},
{
"address": "eth:0x6436BBcA322b8cD0c56d8b9aD7837b13960dA426",
"type": "EOA",
"isVerified": true,
"name": "0x6436…A426",
"url": "https://etherscan.io/address/0x6436BBcA322b8cD0c56d8b9aD7837b13960dA426",
"displayName": "EOA 8"
},
{
"address": "eth:0x83f81E7f9E284AAFFEDED797008663595f7342bF",
"type": "EOA",
"isVerified": true,
"name": "0x83f8…42bF",
"url": "https://etherscan.io/address/0x83f81E7f9E284AAFFEDED797008663595f7342bF",
"displayName": "EOA 9"
},
{
"address": "eth:0x874f46124C1DAaD4749B94f82eD142754826240E",
"type": "EOA",
"isVerified": true,
"name": "0x874f…240E",
"url": "https://etherscan.io/address/0x874f46124C1DAaD4749B94f82eD142754826240E",
"displayName": "EOA 10"
},
{
"address": "eth:0xbCF516826eD7F3b0E487C7ca6A87b3b4EccDD4DC",
"type": "EOA",
"isVerified": true,
"name": "0xbCF5…D4DC",
"url": "https://etherscan.io/address/0xbCF516826eD7F3b0E487C7ca6A87b3b4EccDD4DC",
"displayName": "EOA 11"
},
{
"address": "eth:0xDD523FD4DebcF0dB6f0B2c2D30D075CaaeE023e0",
"type": "EOA",
"isVerified": true,
"name": "0xDD52…23e0",
"url": "https://etherscan.io/address/0xDD523FD4DebcF0dB6f0B2c2D30D075CaaeE023e0",
"displayName": "EOA 12"
},
{
"address": "eth:0xebec9bc53f9C65f69DB8591B9f240BbCDb563c54",
"type": "EOA",
"isVerified": true,
"name": "0xebec…3c54",
"url": "https://etherscan.io/address/0xebec9bc53f9C65f69DB8591B9f240BbCDb563c54",
"displayName": "EOA 13"
},
{
"address": "eth:0xf27Af436A6F2d9C64B4CA40a483eC46acDc33fe8",
"type": "EOA",
"isVerified": true,
"name": "0xf27A…3fe8",
"url": "https://etherscan.io/address/0xf27Af436A6F2d9C64B4CA40a483eC46acDc33fe8",
"displayName": "EOA 14"
}
],
"chain": "ethereum",
"description": "* Can interact with SignatureVerifier\n * sign cross-chain submissions as a deBridge validator. A quorum of these signers can authorize arbitrary messages, mint deTokens and unlock collateral from the deBridge gate on this chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x391276932b5105C2DB8eE928dfd8872564d6d246",
"type": "EOA",
"isVerified": true,
"name": "0x3912…d246",
"url": "https://etherscan.io/address/0x391276932b5105C2DB8eE928dfd8872564d6d246",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with SimpleFeeProxy\n * withdraw all protocol fees accrued in the DeBridgeGate to itself \n* Can interact with DlnSource\n * withdraw accumulated DLN protocol fees (not user principal) to itself ",
"discoveryDrivenData": true
},
{
"id": "EOA-15",
"name": "EOA 15",
"accounts": [
{
"address": "eth:0x844e5bd15b32B9F2245205AE59C9c6f5Fc696444",
"type": "EOA",
"isVerified": true,
"name": "0x844e…6444",
"url": "https://etherscan.io/address/0x844e5bd15b32B9F2245205AE59C9c6f5Fc696444",
"displayName": "EOA 15"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * [via: ]\n * DeBridgeIntentManager [via: ]\n* Can interact with DeBridgeAllowanceHolder\n * grant and revoke the ALLOWED_SPENDER_ROLE, i.e. authorize any address (including itself) to spend all outstanding user approvals of the deBridge intent system \n* Can interact with DeBridgeIntentManager\n * set intent fill fees up to 100% with immediate effect (fees are not part of the user-signed intent), manage the trusted solver set, sweep funds held by the contract, and grant/revoke all roles ",
"description": "* Can upgrade **with no delay**\n * [via: ProxyAdmin]\n * DeBridgeIntentManager [via: ProxyAdmin]\n* Can interact with DeBridgeAllowanceHolder\n * grant and revoke the ALLOWED_SPENDER_ROLE, i.e. authorize any address (including itself) to spend all outstanding user approvals of the deBridge intent system \n* Can interact with DeBridgeIntentManager\n * set intent fill fees up to 100% with immediate effect (fees are not part of the user-signed intent), manage the trusted solver set, sweep funds held by the contract, and grant/revoke all roles ",
"discoveryDrivenData": true
},
{
"id": "EOA-16",
"name": "EOA 16",
"accounts": [
{
"address": "eth:0xbda458dfc28021dEbD72060671Fc350fA5CB39e5",
"type": "EOA",
"isVerified": true,
"name": "0xbda4…39e5",
"url": "https://etherscan.io/address/0xbda458dfc28021dEbD72060671Fc350fA5CB39e5",
"displayName": "EOA 16"
}
],
"chain": "ethereum",
"description": "* Can interact with IntentManagerValidator\n * grant and revoke the INTENT_MANAGER_ROLE that allows creating DLN orders with custom or zero protocol fees ",
"discoveryDrivenData": true
},
{
"id": "EOA-17",
"name": "EOA 17",
"accounts": [
{
"address": "eth:0xd6dF82F60a2FE1e61aEc29679bc4954F33D8C1EC",
"type": "EOA",
"isVerified": true,
"name": "0xd6dF…C1EC",
"url": "https://etherscan.io/address/0xd6dF82F60a2FE1e61aEc29679bc4954F33D8C1EC",
"displayName": "EOA 17"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * [via: ]",
"description": "* Can upgrade **with no delay**\n * [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
},
"plugins": [
{
"plugin": "debridge-dln",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
+18 -26
+1 -3
{
"redWarning": {
"text": "Legacy withdrawals on this version of INTMAX2 are suspended after a cryptographic vulnerability was discovered in the balance proof circuit. No exploitation has been observed and funds remain secure in the Ethereum liquidity contract, but users are urged to exit via the new Exit system before assisted support ends. See the [exit documentation](https://intmax-exit.gitbook.io/intmax-exit-documentation) and [announcement](https://x.com/intmaxIO/status/2049396434513138094) for details."
},
"unverifiedContracts": [
"eth:0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601"
]
"unverifiedContracts": []
}
+1 -17
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601",
"type": "Contract",
"isVerified": false,
"name": "0x7153…f601",
"url": "https://etherscan.io/address/0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * PredicateServiceManager ",
"discoveryDrivenData": true
},
{
"id": "GnosisSafe",
"name": "GnosisSafe",
"description": "A Multisig with 2/4 threshold. \n* Can interact with PredicateServiceManager\n * can add and remove permissioned operators, deregister regular operators, register new policies, override existing policies, and in general manage the AVS (e.g. thresholds, strategies) and the connection to EigenLayer ",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with no delay**\n * PredicateServiceManager [via: ProxyAdmin]\n* Can interact with PredicateServiceManager\n * can add and remove permissioned operators, deregister regular operators, register new policies, override existing policies, and in general manage the AVS (e.g. thresholds, strategies) and the connection to EigenLayer ",
"accounts": [
{
"address": "eth:0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE",
"type": "Contract",
"isVerified": true,
"name": "0x8A3c…6fdE",
"url": "https://etherscan.io/address/0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa283Ad6f064227944061442Ba4975aad315985e5",
"type": "EOA",
"isVerified": true,
"name": "0xa283…85e5",
"url": "https://etherscan.io/address/0xa283Ad6f064227944061442Ba4975aad315985e5"
},
{
"address": "eth:0x949A718aca94eB060aBB4C59B05995e257666F7F",
"type": "EOA",
"isVerified": true,
"name": "0x949A…6F7F",
"url": "https://etherscan.io/address/0x949A718aca94eB060aBB4C59B05995e257666F7F"
},
{
"address": "eth:0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c",
"type": "EOA",
"isVerified": true,
"name": "0xFb37…a02c",
"url": "https://etherscan.io/address/0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c"
},
{
"address": "eth:0x110b66ea6F97c0391eEfFDd19CD0cFd73e9871fA",
"type": "EOA",
"isVerified": true,
"name": "0x110b…71fA",
"url": "https://etherscan.io/address/0x110b66ea6F97c0391eEfFDd19CD0cFd73e9871fA"
}
],
"discoveryDrivenData": true
},
{
"id": "PredicateServiceManager",
"name": "PredicateServiceManager",
"accounts": [
{
"address": "eth:0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2",
"type": "Contract",
"isVerified": true,
"name": "0xf6f4…B0d2",
"url": "https://etherscan.io/address/0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2"
}
],
"chain": "ethereum",
"description": "* Can interact with LiquidityV2\n * approves deposits through AML checks [via: PredicatePermitter]",
"discoveryDrivenData": true
},
{
"id": "INTMAX Multisig 1",
"name": "INTMAX Multisig 1",
"description": "A Multisig with 2/4 threshold. ",
"accounts": [
{
"address": "eth:0xA3C2a579af4cF3853172058e5c76d273DC1542DD",
"type": "Contract",
"isVerified": true,
"name": "0xA3C2…42DD",
"url": "https://etherscan.io/address/0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
},
{
"address": "eth:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
},
{
"address": "eth:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
},
{
"address": "eth:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
}
],
"discoveryDrivenData": true
},
{
"id": "INTMAX Multisig 3",
"name": "INTMAX Multisig 3",
"description": "A Multisig with 1/4 threshold. ",
"accounts": [
{
"address": "eth:0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea",
"type": "Contract",
"isVerified": true,
"name": "0xe147…50Ea",
"url": "https://etherscan.io/address/0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
},
{
"address": "eth:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
},
{
"address": "eth:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
},
{
"address": "eth:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1,-EOA-2,-EOA-3-and-EOA-5"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 1, EOA 2, EOA 3 and EOA 5",
"accounts": [
{
"address": "eth:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "0x1eB7…794D",
"url": "https://etherscan.io/address/0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"displayName": "EOA 1"
},
{
"address": "eth:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "0x2EAB…F85A",
"url": "https://etherscan.io/address/0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"displayName": "EOA 2"
},
{
"address": "eth:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "0x5C04…4Bb6",
"url": "https://etherscan.io/address/0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"displayName": "EOA 3"
},
{
"address": "eth:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "0xB890…7418",
"url": "https://etherscan.io/address/0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"displayName": "EOA 5"
}
],
"chain": "ethereum",
"description": "Member of INTMAX Multisig 1, INTMAX Multisig 3.\n* Can upgrade **with no delay**\n * PredicatePermitter [via: INTMAX Multisig 3]",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0xA8E0Db294aD54E9187CeE41c4d471186bf5Aa7A6",
"type": "EOA",
"isVerified": true,
"name": "0xA8E0…a7A6",
"url": "https://etherscan.io/address/0xA8E0Db294aD54E9187CeE41c4d471186bf5Aa7A6",
"displayName": "EOA 4"
}
],
"chain": "ethereum",
"description": "* Can interact with LiquidityV2\n * can relay deposits to the main rollup contract on Scroll ",
"discoveryDrivenData": true
}
]
},
"scroll": {
"roles": [],
"actors": [
{
"id": "INTMAX Multisig 2",
"name": "INTMAX Multisig 2",
"description": "A Multisig with 2/4 threshold. \n* Can upgrade **with no delay**\n * Rollup \n * Claim \n * Withdrawal \n* Can interact with Claim\n * can update the verifier address \n* Can interact with Withdrawal\n * can update the verifier address and the list of tokens that can be withdrawn automatically, in contrast to those that have to be actively claimed ",
"accounts": [
{
"address": "scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD",
"type": "Contract",
"isVerified": true,
"name": "0xA3C2…42DD",
"url": "https://scrollscan.com/address/0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
}
],
"chain": "scroll",
"references": [],
"participants": [
{
"address": "scr:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "0x2EAB…F85A",
"url": "https://scrollscan.com/address/0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A"
},
{
"address": "scr:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "0x1eB7…794D",
"url": "https://scrollscan.com/address/0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D"
},
{
"address": "scr:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "0xB890…7418",
"url": "https://scrollscan.com/address/0xB89001Ef513E10482B2667a0fC70F06cfF3a7418"
},
{
"address": "scr:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "0x5C04…4Bb6",
"url": "https://scrollscan.com/address/0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-6",
"name": "EOA 6",
"accounts": [
{
"address": "scr:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://scrollscan.com/address/0x0000000000000000000000000000000000000000",
"displayName": "EOA 6"
}
],
"chain": "scroll",
"description": "* Can upgrade **with no delay**\n * Contribution ",
"discoveryDrivenData": true
}
]
}
}
+15 -5
{
"addresses": {
"ethereum": [
{
"name": "PredicatePermitter",
"isVerified": true,
"address": "eth:0x11D58231A79D866674EaAa043Fdaeae9A3dF4c0E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea"
],
"implementations": [
"eth:0xef082Ff43805B93Ed375Fd47A964Fe136cCB9021"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750501451,
"transactionHash": "0x1171a710716e4ea09dd241bd14fad955a99e5bc2dc7662530f1b25c3b4f1020f",
"implementations": [
"eth:0xef082Ff43805B93Ed375Fd47A964Fe136cCB9021"
]
}
],
"description": "Contract that connects INTMAX deposits to the Predicate AVS that ultimately checks AML requirements. It stores a policy ID to be then referenced by the Predicate AVS.\n* Roles:\n * **admin**: INTMAX Multisig 3; ultimately EOA 1, EOA 2, EOA 3, EOA 5\n * **getPredicateManager**: PredicateServiceManager",
"upgradableBy": [
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 2",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 3",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3-and-EOA-5",
"name": "EOA 5",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x11D58231A79D866674EaAa043Fdaeae9A3dF4c0E#code"
},
{
"name": "Exit",
"isVerified": true,
"address": "eth:0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x24b880Ee40387dc86e374F707B5081c34Edb5eA3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1771122743,
"transactionHash": "0x098a5a57b90967c06973d8aad9d74c83057b522650f5ab125202162b3e95857b",
"implementations": [
"eth:0x24b880Ee40387dc86e374F707B5081c34Edb5eA3"
]
}
],
"description": "Timelocked exit mechanism. SUBMITTER_ROLE queues withdrawal requests with a 24-hour timelock, after which anyone can execute them permissionlessly. GUARDIAN_ROLE can cancel pending requests and pause the contract.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x41BCB335eB2f92E54F9577E7c3D6e172a5bfdD6B#code"
},
{
"name": "Contribution",
"isVerified": true,
"address": "eth:0x4c614C7BB9420caA1F19cB2C58B00864f2125Ce2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x09665baEFbfaAE3E9b3AC854717C2ab5534d2D25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500551,
"transactionHash": "0x8650dce84d7ab72b87aebbc5655861fa2734ef95c3046485f40dc2901b291656",
"implementations": [
"eth:0x09665baEFbfaAE3E9b3AC854717C2ab5534d2D25"
]
}
],
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4c614C7BB9420caA1F19cB2C58B00864f2125Ce2#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: GnosisSafe",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601#code"
},
{
"name": "LiquidityV2",
"isVerified": true,
"address": "eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500599,
"transactionHash": "0xbb35cae7bb4711e7e2db56c10d3f09f1c2d482bb00912b6593577d4dd744a86e",
"implementations": [
"eth:0x0fE3E6018E53cb90020b5C06BC4c7c4FcEa1eBF0"
]
},
{
"timestamp": 1752761087,
"transactionHash": "0x305d92e409c58e4ce7facda3e759b383326706f81af0bf530fca37cdff758c1e",
"implementations": [
"eth:0x4fd8BF5f45832a007448fcDE29049919F8cf6D0d"
]
},
{
"timestamp": 1756560323,
"transactionHash": "0x93f7c96b159e82cd555266aa0451fb2d3a7eb8475edf83f66a15fa617de1eca0",
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
},
{
"timestamp": 1770474575,
"transactionHash": "0x95073b3d48f892101baf0c2e857a0b0b8f72dd6ae5fdfecd49c0814dfec4cd69",
"implementations": [
"eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9"
]
},
{
"timestamp": 1771148471,
"transactionHash": "0x7ae0a3b4f0284d10ee582d9f28124a5798fb68f4f5ecdeddcd915d77abf30799",
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
}
],
"description": "Entry point of the project. Handles deposits, withdrawals, and the communication from and to the main rollup contract on Scroll. Deposits are gated by an AML check. The V2 upgrade adds an exitTransfer function, gated by an EXIT_ROLE, that can transfer any token type from the contract.\n* Roles:\n * **amlPermitter**: PredicatePermitter; ultimately PredicateServiceManager\n * **relayer**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF65e73aAc9182e353600a916a6c7681F810f79C3#code"
}
],
"scroll": [
{
"name": "Rollup",
"isVerified": true,
"address": "scr:0x1c88459D014e571c332BF9199aD2D35C93219A2e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752665870,
"transactionHash": "0x00ed05b1421c07fc3016adada820d7e853df1a1898e4b8636b1139c6712b1ffd",
"implementations": [
"scr:0xF34299210fB8505232649e9BEa14a84DD75e746b"
]
},
{
"timestamp": 1770717100,
"transactionHash": "0xbd41e060791e0e158dc07aafdfb52c0e26c76ea9193852ab9d4d5c8eb9e9fe70",
"implementations": [
"scr:0xeAc5302f9AA81B38867Ef4Fd37D4e480C0bb8820"
]
}
],
"description": "Main rollup contract used to submit blocks and process deposits. It saves block hashes to be then referenced by the Withdrawal contract.\n* Roles:\n * **admin**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x1c88459D014e571c332BF9199aD2D35C93219A2e#code"
},
{
"name": "PlonkVerifier",
"isVerified": true,
"address": "scr:0x1d38545a33740Ab3480d9035bB3126914404423d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "A wrapper verifier that can check both withdrawal zk proofs to exit from INTMAX network and zk proofs for claiming rewards of the privacy mining program.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x1d38545a33740Ab3480d9035bB3126914404423d#code"
},
{
"name": "Claim",
"isVerified": true,
"address": "scr:0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0x5216C8D0F2188a91aD07Fe4F334F220b2F7b59EA"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752740586,
"transactionHash": "0x51f594e6a45f74ba5ca4a9536e7911be101f6a9ee7efb1471ee6e359af36c6ef",
"implementations": [
"scr:0x1899bF9D0e40Dd1bB6C3CCF2123A0Bd1DE0F0548"
]
},
{
"timestamp": 1755322929,
"transactionHash": "0xcb1b6cb53aeb3e3946facae2aa425a1b82068dcdeb41deeaaacae2948c3e4f3a",
"implementations": [
"scr:0x5216C8D0F2188a91aD07Fe4F334F220b2F7b59EA"
]
}
],
"description": "* Roles:\n * **admin**: INTMAX Multisig 2\n * **owner**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5#code"
},
{
"name": "Contribution",
"isVerified": true,
"address": "scr:0x42Fe7Db60c4C70eBb7597dB9a0959F9fCa0114af",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0x0000000000000000000000000000000000000000"
],
"implementations": [
"scr:0x8305Ca6756b0edb49ed9503C1Cf39Cb64a00b955"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1750500006,
"transactionHash": "0x80b8d8e13d4baaf9f60d6487bc220584103ae955efb88bea6c95cdff57ebb46c",
"implementations": [
"scr:0x8305Ca6756b0edb49ed9503C1Cf39Cb64a00b955"
]
}
],
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n* Roles:\n * **admin**: EOA 6",
"upgradableBy": [
{
"id": "EOA-6",
"name": "EOA 6",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x42Fe7Db60c4C70eBb7597dB9a0959F9fCa0114af#code"
},
{
"name": "Withdrawal",
"isVerified": true,
"address": "scr:0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0x614ef91D1971A4dB458ABde03c62247afc57A753"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752665900,
"transactionHash": "0x42a803443a8cce32af6abb340909910f95b82c9e4b62d9002ce8c5554bf6ad8a",
"implementations": [
"scr:0xDFC6EB6642FEAF99629c6629b2f7dC7eB9F1a0A3"
]
},
{
"timestamp": 1755322929,
"transactionHash": "0xcb1b6cb53aeb3e3946facae2aa425a1b82068dcdeb41deeaaacae2948c3e4f3a",
"implementations": [
"scr:0x614ef91D1971A4dB458ABde03c62247afc57A753"
]
}
],
"description": "Contract handling withdrawal requests, which require a validity proof of sufficient balance. It tracks amount of funds already withdrawn to prevent double withdrawals.\n* Roles:\n * **admin**: INTMAX Multisig 2\n * **owner**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449#code"
}
]
},
"escrows": [
{
"address": "0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"sinceTimestamp": 1750500599,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500599,
"transactionHash": "0xbb35cae7bb4711e7e2db56c10d3f09f1c2d482bb00912b6593577d4dd744a86e",
"implementations": [
"eth:0x0fE3E6018E53cb90020b5C06BC4c7c4FcEa1eBF0"
]
},
{
"timestamp": 1752761087,
"transactionHash": "0x305d92e409c58e4ce7facda3e759b383326706f81af0bf530fca37cdff758c1e",
"implementations": [
"eth:0x4fd8BF5f45832a007448fcDE29049919F8cf6D0d"
]
},
{
"timestamp": 1756560323,
"transactionHash": "0x93f7c96b159e82cd555266aa0451fb2d3a7eb8475edf83f66a15fa617de1eca0",
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
},
{
"timestamp": 1770474575,
"transactionHash": "0x95073b3d48f892101baf0c2e857a0b0b8f72dd6ae5fdfecd49c0814dfec4cd69",
"implementations": [
"eth:0xd12FF9c1542F0826DB4c7cAe8BcC4fbeF3d3B6c9"
]
},
{
"timestamp": 1771148471,
"transactionHash": "0x7ae0a3b4f0284d10ee582d9f28124a5798fb68f4f5ecdeddcd915d77abf30799",
"implementations": [
"eth:0x890662DF84603CcF62b940292252BDd3aa0b5382"
]
}
],
"url": "https://etherscan.io/address/0xF65e73aAc9182e353600a916a6c7681F810f79C3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": [
"scr:0x1d38545a33740Ab3480d9035bB3126914404423d"
]
}
+1 -1
{
"baseTimestamp": 1778583067,
"baseTimestamp": 1787230588,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -1
+1 -1
{
"baseTimestamp": 1786360025,
"baseTimestamp": 1787230600,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+57 -45
+5 -4
{
"unverifiedContracts": [
"eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366",
"eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262"
]
"redWarning": {
"text": "Critical contracts can be upgraded by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": []
}
+18 -33
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "MantaMultisig",
"name": "MantaMultisig",
"description": "A Multisig with 5/7 threshold. \n* Can upgrade **with no delay**\n * L2OutputOracle [via: ProxyAdmin]\n * L1StandardBridge [via: ProxyAdmin]\n * L1CrossDomainMessenger [via: ProxyAdmin]\n * SystemConfig [via: ProxyAdmin]\n * OptimismPortal [via: ProxyAdmin]\n* Can interact with AddressManager\n * set and change address mappings [via: ProxyAdmin]",
"accounts": [
{
"address": "eth:0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E",
"type": "Contract",
"isVerified": true,
"name": "0x3c46…a01E",
"url": "https://etherscan.io/address/0x3c46C05c2eba8eDd0B0f0C8B1D2fBf9fc53ea01E"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x12ee26aD74d50a1f6BDD90811387d1e0f3e7C76A",
"type": "EOA",
"isVerified": true,
"name": "0x12ee…C76A",
"url": "https://etherscan.io/address/0x12ee26aD74d50a1f6BDD90811387d1e0f3e7C76A"
},
{
"address": "eth:0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1"
},
{
"address": "eth:0x356000Cec4fC967f8FC372381D983426760A0391",
"type": "EOA",
"isVerified": true,
"name": "Caldera",
"url": "https://etherscan.io/address/0x356000Cec4fC967f8FC372381D983426760A0391"
},
{
"address": "eth:0xB44948Ff3E8a4d3Ac32A376B4b3209AdC7620770",
"type": "EOA",
"isVerified": true,
"name": "0xB449…0770",
"url": "https://etherscan.io/address/0xB44948Ff3E8a4d3Ac32A376B4b3209AdC7620770"
},
{
"address": "eth:0xDC80503b718Ff3B2e43db42460A718c119e75cdd",
"type": "EOA",
"isVerified": true,
"name": "0xDC80…5cdd",
"url": "https://etherscan.io/address/0xDC80503b718Ff3B2e43db42460A718c119e75cdd"
},
{
"address": "eth:0x92124ee0e7238992E5E7F34f9FBBCD71931ABC6D",
"type": "EOA",
"isVerified": true,
"name": "0x9212…BC6D",
"url": "https://etherscan.io/address/0x92124ee0e7238992E5E7F34f9FBBCD71931ABC6D"
},
{
"address": "eth:0x35Aee2b2aa6ACB13C3a38a58AEb069C163734FaD",
"type": "EOA",
"isVerified": true,
"name": "0x35Ae…4FaD",
"url": "https://etherscan.io/address/0x35Aee2b2aa6ACB13C3a38a58AEb069C163734FaD"
}
],
"discoveryDrivenData": true
},
{
"id": "FinalityRelayerManager",
"name": "FinalityRelayerManager",
"accounts": [
{
"address": "eth:0x8E132B3bD37f3f6E223cD23adD390111e674C94E",
"type": "Contract",
"isVerified": true,
"name": "0x8E13…C94E",
"url": "https://etherscan.io/address/0x8E132B3bD37f3f6E223cD23adD390111e674C94E"
}
],
"chain": "ethereum",
"description": "Contract managing challenge period reductions based on whitelisted signer and staked amounts. No threshold is currently enforced and no validation is done on the staked amounts. The current challenge period is set to 3d, the manta quorum can reduce it by a maximum of 1d, the bitcoin quorum can reduce it by a maximum of 1d, and the minimum challenge period allowed is set to 12h.\n* Can interact with L2OutputOracle\n * can reduce the challenge period for selected state roots ",
"discoveryDrivenData": true
},
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366",
"type": "Contract",
"isVerified": false,
"name": "0xab64…6366",
"url": "https://etherscan.io/address/0xab64A3Da57886cD4205176c72b8Be63C34E46366"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * BLSApkRegistry ",
"discoveryDrivenData": true
},
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262",
"type": "Contract",
"isVerified": false,
"name": "0xeC63…8262",
"url": "https://etherscan.io/address/0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * FinalityRelayerManager ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5",
"type": "EOA",
"isVerified": true,
"name": "0x4b1A…9fe5",
"url": "https://etherscan.io/address/0x4b1A788B20bb85eb19f8e9B69B8a584e7fA29fe5",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "Member of MantaMultisig.\n* Can interact with L2OutputOracle\n * Allowed to challenge or delete state roots proposed by a Proposer \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 OptimismPortal\n * Allowed to pause withdrawals. In op stack systems with a proof system, the Guardian can also blacklist dispute games and set the respected game type (permissioned / permissionless) ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x853bDfF715eFeDc280C16241dD30A6d651f90aCa",
"type": "EOA",
"isVerified": true,
"name": "0x853b…0aCa",
"url": "https://etherscan.io/address/0x853bDfF715eFeDc280C16241dD30A6d651f90aCa",
"displayName": "EOA 2"
}
],
"chain": "ethereum",
"description": "* Can interact with L2OutputOracle\n * Allowed to post new state roots of the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0xA76E31D8471D569EfDd3D95d1b11Ce6710f4533F",
"type": "EOA",
"isVerified": true,
"name": "0xA76E…533F",
"url": "https://etherscan.io/address/0xA76E31D8471D569EfDd3D95d1b11Ce6710f4533F",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with SystemConfig\n * Allowed to commit transactions from the current layer to the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-4,-EOA-5-and-EOA-6",
"name": "EOA 4, EOA 5 and EOA 6",
"accounts": [
{
"address": "eth:0x170f4f5a53901d40f8394eBBB2E2B5eC536EBC21",
"type": "EOA",
"isVerified": true,
"name": "0x170f…BC21",
"url": "https://etherscan.io/address/0x170f4f5a53901d40f8394eBBB2E2B5eC536EBC21",
"displayName": "EOA 4"
},
{
"address": "eth:0x2eB258090Fb1Ea635eb4eEB410693278823537FC",
"type": "EOA",
"isVerified": true,
"name": "0x2eB2…37FC",
"url": "https://etherscan.io/address/0x2eB258090Fb1Ea635eb4eEB410693278823537FC",
"displayName": "EOA 5"
},
{
"address": "eth:0x83E3fa69086af892B02D58fB181f5a8bCC11aBA6",
"type": "EOA",
"isVerified": true,
"name": "0x83E3…aBA6",
"url": "https://etherscan.io/address/0x83E3fa69086af892B02D58fB181f5a8bCC11aBA6",
"displayName": "EOA 6"
}
],
"chain": "ethereum",
"description": "* Can interact with FinalityRelayerManager\n * can vote for challenge period reductions ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xBFdA2dF9Cd91cF7A3e794EDB9C268588d42d7c01",
"type": "EOA",
"isVerified": true,
"name": "0xBFdA…7c01",
"url": "https://etherscan.io/address/0xBFdA2dF9Cd91cF7A3e794EDB9C268588d42d7c01",
"displayName": "EOA 7"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * FinalityRelayerManager [via: ProxyAdmin]\n * BLSApkRegistry [via: ProxyAdmin]",
"discoveryDrivenData": true
},
{
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "eth:0xfdaD88aE58677281C8Bc75d35CB4a6bb8ACaec4a",
"type": "EOA",
"isVerified": true,
"name": "0xfdaD…ec4a",
"url": "https://etherscan.io/address/0xfdaD88aE58677281C8Bc75d35CB4a6bb8ACaec4a",
"displayName": "EOA 7"
"displayName": "EOA 8"
}
],
"chain": "ethereum",
"description": "* Can interact with FinalityRelayerManager\n * can add or remove operators, set the target for manta and bitcoin votes, and provide data for signature validation, including addresses to be excluded from validation \n* Can interact with BLSApkRegistry\n * it can add or remove whitelisted addresses that can register BLS keys ",
"discoveryDrivenData": true
}
]
}
}
+33 -7
{
"addresses": {
"ethereum": [
{
"name": "L2OutputOracle",
"isVerified": true,
"address": "eth:0x30c789674ad3B458886BBC9abf42EEe19EA05C1D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225207,
"transactionHash": "0x1a87e499b70152ea3a2a6efdd564f52ca0feafea4b5ebf3bec1dea1744ce26bd",
"implementations": [
"eth:0x1E5e634981564fc645dcbC6546aE618d7870B30a"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x0e874B9acD8d284B9bF6f6c6CC95BCE6F66E5441"
]
}
],
"description": "Contains a list of proposed state roots which Proposers assert to be a result of block execution. Currently only the PROPOSER address can submit new state roots. The challenge period can be reduced by the FinalityRelayerManager contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **challenger**: EOA 1\n * **finalityProvider**: FinalityRelayerManager\n * **proposer**: EOA 2",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x30c789674ad3B458886BBC9abf42EEe19EA05C1D#code"
},
{
"name": "SystemConfig",
"isVerified": true,
"address": "eth:0x895E00269A05848F3c9889EfA677D02fF7351a5D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0xeF01a6aE995791FfFcA3d70bDA7B91E5Fa1aD0aE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225099,
"transactionHash": "0x3fc415e1bb3f7da0c3242d8f9e94155fa39724cbbac34b0846b9a2249eaae22f",
"implementations": [
"eth:0xeF01a6aE995791FfFcA3d70bDA7B91E5Fa1aD0aE"
]
}
],
"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 MantaMultisig\n * **batcherHash**: EOA 3\n * **owner**: EOA 1",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x895E00269A05848F3c9889EfA677D02fF7351a5D#code"
},
{
"name": "OptimismPortal",
"isVerified": true,
"address": "eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225231,
"transactionHash": "0x3ba5fd8ebd0374b77f27332c31ddfdac6e67d7317ab4668043a2e26cb0bb5996",
"implementations": [
"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
}
],
"description": "The main entry point to deposit funds from host chain to this chain. It also allows to prove and finalize withdrawals.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig\n * **guardian**: EOA 1",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622#code"
},
{
"name": "L1StandardBridge",
"isVerified": true,
"address": "eth:0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x62b257A1b1fC81c4e6E5Dc5b47F1E6184341Cd58"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "The main entry point to deposit ERC20 tokens from host chain to this chain.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3B95bC951EE0f553ba487327278cAc44f29715E5#code"
},
{
"name": "L1CrossDomainMessenger",
"isVerified": true,
"address": "eth:0x635ba609680c55C3bDd0B3627b4c5dB21b13c310",
"upgradeability": {
"proxyType": "resolved delegate proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x9cDDc6F65eD67Ef19743fFDFD53501457ce8B51f"
],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694224931,
"transactionHash": "0xa9f1d5a75b77547488322b8de82f0c63c27cdab4e58ffb59ac181c606cfbf460",
"implementations": [
"eth:0x635ba609680c55C3bDd0B3627b4c5dB21b13c310"
]
},
{
"timestamp": 1694225183,
"transactionHash": "0xc778764049cb9f0cd852c1361f73a39b1e6aeb4b368a4456f2f77c34369eb6df",
"implementations": [
"eth:0x9cDDc6F65eD67Ef19743fFDFD53501457ce8B51f"
]
}
],
"description": "Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.\n* Roles:\n * **admin**: ProxyAdmin; ultimately MantaMultisig",
"upgradableBy": [
{
"name": "MantaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x635ba609680c55C3bDd0B3627b4c5dB21b13c310#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: MantaMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa2DCa85BB892De55D8B262d1806114733106e8D1#code"
},
{
"name": "BLSApkRegistry",
"isVerified": true,
"address": "eth:0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366"
],
"implementations": [
"eth:0x8ad2384aaf9525bd7B4D3f73e8CC07421af2046F"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1756743095,
"transactionHash": "0xfb62fc1475f085af10fc1e24a622ae14e47dc2d6dd542d45624a4dacb41071d9",
"implementations": [
"eth:0xbA8F537c029c3754e8EB34EA1cE2c0eaDE2745B5"
]
},
{
"timestamp": 1756743095,
"transactionHash": "0xe1efad46bfcd85ec8e1b55643fc79cbd833f53a28161ee11273302a5a717b837",
"implementations": [
"eth:0x8ad2384aaf9525bd7B4D3f73e8CC07421af2046F"
]
}
],
"description": "Contract used to register BLS keys and verify aggregated signatures. No specific threshold is enforced here, as all addresses to exclude from the signature check are provided as an input.\n* Roles:\n * **admin**: \n * **relayerManager**: EOA 7",
"description": "Contract used to register BLS keys and verify aggregated signatures. No specific threshold is enforced here, as all addresses to exclude from the signature check are provided as an input.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 7\n * **relayerManager**: EOA 8",
"upgradableBy": [
{
"name": "",
"id": "EOA-7",
"name": "EOA 7",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa80f2401c8AE7D95C7995295DC2c0D651F25FD60#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xab64A3Da57886cD4205176c72b8Be63C34E46366",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xab64A3Da57886cD4205176c72b8Be63C34E46366#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xeC638D2C7d0F07c0245ac94e51A51Bac427d8262#code"
}
]
},
"escrows": [
{
"address": "0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"sinceTimestamp": 1694224871,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1694225231,
"transactionHash": "0x3ba5fd8ebd0374b77f27332c31ddfdac6e67d7317ab4668043a2e26cb0bb5996",
"implementations": [
"eth:0x445c62F4948f3B08a6bB1DbC51Ef985b3Eb199F1"
]
},
{
"timestamp": 1757652443,
"transactionHash": "0x5c9d3e19dd335e1defb86ab47187fdb2b4416756d4a1226479cb3582b169771a",
"implementations": [
"eth:0x4fEee20712abF5724C2BC0476BD87CBf1F1eE388"
]
}
],
"description": "Main entry point for users depositing ETH.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x9168765EE952de7C6f8fC6FaD5Ec209B960b7622#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"sinceTimestamp": 1694224907,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x3B95bC951EE0f553ba487327278cAc44f29715E5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa2DCa85BB892De55D8B262d1806114733106e8D1"
],
"implementations": [
"eth:0x62b257A1b1fC81c4e6E5Dc5b47F1E6184341Cd58"
]
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "Main entry point for users depositing ERC20 token that do not require custom gateway.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x3B95bC951EE0f553ba487327278cAc44f29715E5#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1761589819,
"baseTimestamp": 1787230124,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}